webpackJsonp([7], [function(t, e, n) {
	var i;
	i = function(t, e, i) {
		n(307);
		var o = n(47),
		r = n(59),
		s = n(39),
		a = n(84),
		c = n(62),
		l = n(58).getInfoLoader(62),
		u = F.context("page-info"),
		h = F.context("ad-bottom");
		h.data = h.data || {},
		h.data.data = h.data.data || {},
		n(40).init({
			"sync-bduss": !1
		}),
		F.context("sync") && n(54).init(),
		n(219).init(u.name);
		var d = new r(function(t) {
			this.params.city = F.context("city-info").domainUrl,
			o.getJSON("/webapp/tuan/homeAjax", this.params,
			function(e) {
				t && t(e.errCode, e.data)
			})
		});
		d.param(s.parse()),
		n(63).init(),
		n(55).init(),
		n(309).init("#index-search-wrapper", {
			hotword: d.get.bind(d, "hotword"),
			bodyClose: !0
		}),
		n(314).init("#banner-wrapper", {
			list: F.context("banner-list") || [],
			removable: !0,
			auto: 5e3
		}),
		n(106).init(),
		n(320).init(),
		n(357).init(),
		d.get("topten",
		function(t) {
			n(360).init("#j-index-topten", {
				cityInfo: F.context("city-info"),
				topten: t
			})
		}),
		d.get("adstatic",
		function(t) {
			t && n(365).init("#ad-static-container", {
				data: t.list
			})
		}),
		d.get("mall_list",
		function(t) {
			t && t.length && (o("#mall-block").show(), n(369).init("#mall-container", {
				data: t
			}))
		}),
		d.get("cbd_list",
		function(t) {
			t && t.length && (o("#cbd-block").show(), n(374).init("#cbd-container", {
				data: t
			}))
		}),
		d.get("goods",
		function(t) {
			n(378).init("#goods-container", {
				list: t.lists,
				cb: function() {
					a.update({
						s: "kddlist",
						k: "shopa",
						v: "shop_id"
					})
				},
				s: t.s,
				city: F.context("city-info").domainUrl
			})
		}),
		n(302).init(null, {
			isShow: h.isShow,
			data: {
				mon: "area=layerBanner",
				url: h.data.data.linkUrl,
				img: h.data.data.imgUrl
			},
			cookieName: "na.ad_bottom" + h.data.ad_type,
			cookieValue: h.data.ad_id
		}),
		n(385).init(u.name, F.context("city-info")),
		l.get("user",
		function(t) {
			d.get("is_banned",
			function(e) {
				n(391).init({
					isBanned: e,
					isSync: t && 0 === t.isSync
				},
				{
					logoutUrl: F.context("urls").logout
				})
			})
		}),
		c.isZhidahao() && n(392).init(),
		i.exports = "index"
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
function(t, e, n) {
	var i;
	i = function(t, e, n) {
		function i(t, e) {
			void 0 === t && (t = window.location.search.substring(1));
			for (var n = t.split("&"), i = {},
			o = 0, r = n.length; r > o; o++) {
				var s, a = n[o].split("="),
				c = e ? a[0] : decodeURIComponent(a[0]); (s = a[1]) && (s = e ? s: decodeURIComponent(s).replace(/\+/g, " "), void 0 === i[c] ? i[c] = s: ("object" != typeof i[c] && (i[c] = [i[c]]), i[c].push(s)))
			}
			return i
		}
		function o(t, e) {
			var n, i, o = [];
			for (n in t) if (t.hasOwnProperty(n)) {
				if (i = t[n], n = e ? n: encodeURIComponent(n), !i) continue;
				if ("object" != typeof i) o.push(n + "=" + (e ? i: encodeURIComponent(i)));
				else for (var r = 0,
				s = i.length; s > r; r++) i[r] && o.push(n + "=" + (e ? i[r] : encodeURIComponent(i[r])))
			}
			return o.join("&").replace(/\%20/g, "+")
		}
		var r = function(t, e) {
			var n, i = {};
			for (n in t) t.hasOwnProperty(n) && (i[n] = t[n]);
			for (n in e) e.hasOwnProperty(n) && (i[n] = e[n]);
			return i
		},
		s = function(t, e) {
			void 0 === e && (e = t, t = window.location.search.substring(1)),
			"string" == typeof t && (t = i(t)),
			"string" == typeof e && (e = i(e));
			var n = r(t, e);
			return o(n)
		},
		a = function(t, e) {
			1 === arguments.length && (e = t, t = window.location.search.substring(1));
			var n = i(t);
			for (var r in n) if (n.hasOwnProperty(r)) switch (typeof e) {
			case "string":
				r === e && (n[r] = "");
				break;
			case "object":
				e.indexOf && e.indexOf(r) >= 0 && (n[r] = "");
				break;
			case "function":
				e(n[r], r) === !0 && (n[r] = "")
			}
			return o(n)
		};
		n.exports = {
			create: s,
			parse: i,
			reject: a,
			stringify: o
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		n(41);
		var o = n(43),
		r = n(44);
		e.init = function(t) {
			if (t = o.extend({
				usertrack: !0,
				"jump-for-ios-desktop": !0,
				"redirect-for-map-login": !0,
				"sync-bduss": !0,
				locate: !0
			},
			t), t.usertrack) {
				var e = n(45);
				e.init(),
				e.register(".ns-track[mon]"),
				e.send({
					element_type: "pv"
				})
			}
			t["jump-for-ios-desktop"] && n(52).init(),
			t["redirect-for-map-login"] && n(53).init(),
			t["sync-bduss"] && n(54).init(),
			t.locate && n(60).getPosition({
				usePositionIn30Min: !1,
				needAddress: !1
			}),
			r.attach(document.body)
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
, ,
function(t, e, n) {
	var i;
	i = function(t, e, n) {
		var i = function() {},
		o = function(t) {
			return Object.prototype.toString.call(t)
		},
		r = function(t, e) {
			if ("[object Array]" !== o(t)) {
				for (var n in t) if (t.hasOwnProperty(n) && e.call(this, t[n], n) === !1) return
			} else for (var i = 0,
			r = t.length; r > i && e.call(this, t[i], i) !== !1; i++);
		},
		s = function(t, e) {
			if (!t) return t;
			var n = new t.constructor;
			return r(t,
			function(t, i) {
				e(n, t, i)
			}),
			n
		},
		a = function(t, e) {
			return s(t,
			function(t, n, i) {
				t[i] = e ? e(n, i) : n
			})
		},
		c = function(t, e) {
			return s(t,
			function(t, n, i) {
				e(n, i) && (t[i] = n)
			})
		},
		l = a,
		u = function(t, e, n) {
			return t = (n ? l(t) : t) || {},
			r(e,
			function(e, n) {
				t[n] = e
			}),
			t
		},
		h = function(t, e) {
			t.super_ = e,
			t.prototype = Object.create(e.prototype, {
				constructor: {
					value: t,
					enumerable: !1,
					writable: !0,
					configurable: !0
				}
			})
		},
		d = function(t) {
			t.css({
				"margin-left": "-" + t.width() / 2 + "px",
				"margin-top": "-" + t.height() / 2 + "px"
			})
		},
		p = function(t) {
			var e = {
				UC: /ucbrowser/i,
				QQ: /mqqbrowser/i,
				LieBao: /liebao/i
			} [t];
			return e && e.test(navigator.userAgent)
		},
		f = function(t) {
			var e = {
				Android: /android/i,
				IOS: /(ipad|iphone|ipod)/i
			} [t];
			return e && e.test(navigator.userAgent)
		},
		g = function(t, e) {
			if (null === e || void 0 === e) return "";
			switch (e += "", t) {
			case "phone":
				e = e.slice(0, 3) + "****" + e.slice( - 4)
			}
			return e
		},
		m = function(t, e) {
			return t.replace(/\$\{([^\{\}]*)\}/g,
			function(t, n) {
				var i = e[n.trim()];
				return null == i ? "": i + ""
			})
		},
		v = function(t, e) {
			return (Array.prototype.join.call({
				length: e + 1
			},
			"0") + t).slice( - e)
		},
		y = function(t, e) {
			return t = t.replace(/\$([a-zA-Z])/g,
			function(t, e) {
				return "${" + e + "}"
			}),
			e = new Date(e || Date.now()),
			m(t, {
				Y: v(e.getFullYear(), 4),
				y: v(e.getFullYear(), 2),
				M: v(e.getMonth() + 1, 2),
				d: v(e.getDate(), 2),
				H: v(e.getHours(), 2),
				m: v(e.getMinutes(), 2),
				s: v(e.getSeconds(), 2)
			})
		},
		w = function(t, e) {
			for (var n = 0,
			i = e.length; i > n; n++) if (t.indexOf(e[n]) >= 0) return ! 0;
			return ! 1
		},
		x = function(t) {
			var e = {},
			n = function(n, i) {
				return e[n] = i || !e.hasOwnProperty(n) ? t(n, i) : e[n],
				e[n]
			},
			i = function() {
				e = {}
			};
			return u(n, {
				clear: i
			})
		};
		n.exports = {
			doNothing: i,
			type: o,
			forEach: r,
			transform: s,
			map: a,
			filter: c,
			clone: l,
			extend: u,
			inherits: h,
			center: d,
			isBrowser: p,
			isSystem: f,
			protect: g,
			format: m,
			toLen: v,
			formatDate: y,
			hasAny: w,
			cachable: x
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e, n) {
	var i; !
	function() {
		"use strict";
		/**
	     * @preserve FastClick: polyfill to remove click delays on browsers with touch UIs.
	     *
	     * @codingstandard ftlabs-jsv2
	     * @copyright The Financial Times Limited [All Rights Reserved]
	     * @license MIT License (see LICENSE.txt)
	     */
		function o(t, e) {
			function n(t, e) {
				return function() {
					return t.apply(e, arguments)
				}
			}
			var i;
			if (e = e || {},
			this.trackingClick = !1, this.trackingClickStart = 0, this.targetElement = null, this.touchStartX = 0, this.touchStartY = 0, this.lastTouchIdentifier = 0, this.touchBoundary = e.touchBoundary || 10, this.layer = t, this.tapDelay = e.tapDelay || 200, this.tapTimeout = e.tapTimeout || 700, !o.notNeeded(t)) {
				for (var r = ["onMouse", "onClick", "onTouchStart", "onTouchMove", "onTouchEnd", "onTouchCancel"], a = this, c = 0, l = r.length; l > c; c++) a[r[c]] = n(a[r[c]], a);
				s && (t.addEventListener("mouseover", this.onMouse, !0), t.addEventListener("mousedown", this.onMouse, !0), t.addEventListener("mouseup", this.onMouse, !0)),
				t.addEventListener("click", this.onClick, !0),
				t.addEventListener("touchstart", this.onTouchStart, !1),
				t.addEventListener("touchmove", this.onTouchMove, !1),
				t.addEventListener("touchend", this.onTouchEnd, !1),
				t.addEventListener("touchcancel", this.onTouchCancel, !1),
				Event.prototype.stopImmediatePropagation || (t.removeEventListener = function(e, n, i) {
					var o = Node.prototype.removeEventListener;
					"click" === e ? o.call(t, e, n.hijacked || n, i) : o.call(t, e, n, i)
				},
				t.addEventListener = function(e, n, i) {
					var o = Node.prototype.addEventListener;
					"click" === e ? o.call(t, e, n.hijacked || (n.hijacked = function(t) {
						t.propagationStopped || n(t)
					}), i) : o.call(t, e, n, i)
				}),
				"function" == typeof t.onclick && (i = t.onclick, t.addEventListener("click",
				function(t) {
					i(t)
				},
				!1), t.onclick = null)
			}
		}
		var r = navigator.userAgent.indexOf("Windows Phone") >= 0,
		s = navigator.userAgent.indexOf("Android") > 0 && !r,
		a = /iP(ad|hone|od)/.test(navigator.userAgent) && !r,
		c = a && /OS 4_\d(_\d)?/.test(navigator.userAgent),
		l = a && /OS [6-7]_\d/.test(navigator.userAgent),
		u = navigator.userAgent.indexOf("BB10") > 0;
		o.prototype.needsClick = function(t) {
			switch (t.nodeName.toLowerCase()) {
			case "button":
			case "select":
			case "textarea":
				if (t.disabled) return ! 0;
				break;
			case "input":
				if (a && "file" === t.type || t.disabled) return ! 0;
				break;
			case "label":
			case "iframe":
			case "video":
				return ! 0
			}
			return /\bneedsclick\b/.test(t.className)
		},
		o.prototype.needsFocus = function(t) {
			switch (t.nodeName.toLowerCase()) {
			case "textarea":
				return ! 0;
			case "select":
				return ! s;
			case "input":
				switch (t.type) {
				case "button":
				case "checkbox":
				case "file":
				case "image":
				case "radio":
				case "submit":
					return ! 1
				}
				return ! t.disabled && !t.readOnly;
			default:
				return /\bneedsfocus\b/.test(t.className)
			}
		},
		o.prototype.sendClick = function(t, e) {
			var n, i;
			document.activeElement && document.activeElement !== t && document.activeElement.blur(),
			i = e.changedTouches[0],
			n = document.createEvent("MouseEvents"),
			n.initMouseEvent(this.determineEventType(t), !0, !0, window, 1, i.screenX, i.screenY, i.clientX, i.clientY, !1, !1, !1, !1, 0, null),
			n.forwardedTouchEvent = !0,
			t.dispatchEvent(n)
		},
		o.prototype.determineEventType = function(t) {
			return s && "select" === t.tagName.toLowerCase() ? "mousedown": "click"
		},
		o.prototype.focus = function(t) {
			var e;
			a && t.setSelectionRange && 0 !== t.type.indexOf("date") && "time" !== t.type && "month" !== t.type ? (e = t.value.length, t.setSelectionRange(e, e)) : t.focus()
		},
		o.prototype.updateScrollParent = function(t) {
			var e, n;
			if (e = t.fastClickScrollParent, !e || !e.contains(t)) {
				n = t;
				do {
					if (n.scrollHeight > n.offsetHeight) {
						e = n,
						t.fastClickScrollParent = n;
						break
					}
					n = n.parentElement
				} while ( n )
			}
			e && (e.fastClickLastScrollTop = e.scrollTop)
		},
		o.prototype.getTargetElementFromEventTarget = function(t) {
			return t.nodeType === Node.TEXT_NODE ? t.parentNode: t
		},
		o.prototype.onTouchStart = function(t) {
			var e, n, i;
			if (t.targetTouches.length > 1) return ! 0;
			if (e = this.getTargetElementFromEventTarget(t.target), n = t.targetTouches[0], a) {
				if (i = window.getSelection(), i.rangeCount && !i.isCollapsed) return ! 0;
				if (!c) {
					if (n.identifier && n.identifier === this.lastTouchIdentifier) return t.preventDefault(),
					!1;
					this.lastTouchIdentifier = n.identifier,
					this.updateScrollParent(e)
				}
			}
			return this.trackingClick = !0,
			this.trackingClickStart = t.timeStamp,
			this.targetElement = e,
			this.touchStartX = n.pageX,
			this.touchStartY = n.pageY,
			t.timeStamp - this.lastClickTime < this.tapDelay && t.preventDefault(),
			!0
		},
		o.prototype.touchHasMoved = function(t) {
			var e = t.changedTouches[0],
			n = this.touchBoundary;
			return Math.abs(e.pageX - this.touchStartX) > n || Math.abs(e.pageY - this.touchStartY) > n ? !0 : !1
		},
		o.prototype.onTouchMove = function(t) {
			return this.trackingClick ? ((this.targetElement !== this.getTargetElementFromEventTarget(t.target) || this.touchHasMoved(t)) && (this.trackingClick = !1, this.targetElement = null), !0) : !0
		},
		o.prototype.findControl = function(t) {
			return void 0 !== t.control ? t.control: t.htmlFor ? document.getElementById(t.htmlFor) : t.querySelector("button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea")
		},
		o.prototype.onTouchEnd = function(t) {
			var e, n, i, o, r, u = this.targetElement;
			if (!this.trackingClick) return ! 0;
			if (t.timeStamp - this.lastClickTime < this.tapDelay) return this.cancelNextClick = !0,
			!0;
			if (t.timeStamp - this.trackingClickStart > this.tapTimeout) return ! 0;
			if (this.cancelNextClick = !1, this.lastClickTime = t.timeStamp, n = this.trackingClickStart, this.trackingClick = !1, this.trackingClickStart = 0, l && (r = t.changedTouches[0], u = document.elementFromPoint(r.pageX - window.pageXOffset, r.pageY - window.pageYOffset) || u, u.fastClickScrollParent = this.targetElement.fastClickScrollParent), i = u.tagName.toLowerCase(), "label" === i) {
				if (e = this.findControl(u)) {
					if (this.focus(u), s) return ! 1;
					u = e
				}
			} else if (this.needsFocus(u)) return t.timeStamp - n > 100 || a && window.top !== window && "input" === i ? (this.targetElement = null, !1) : (this.focus(u), this.sendClick(u, t), a && "select" === i || (this.targetElement = null, t.preventDefault()), !1);
			return a && !c && (o = u.fastClickScrollParent, o && o.fastClickLastScrollTop !== o.scrollTop) ? !0 : (this.needsClick(u) || (t.preventDefault(), this.sendClick(u, t)), !1)
		},
		o.prototype.onTouchCancel = function() {
			this.trackingClick = !1,
			this.targetElement = null
		},
		o.prototype.onMouse = function(t) {
			return this.targetElement ? t.forwardedTouchEvent ? !0 : t.cancelable && (!this.needsClick(this.targetElement) || this.cancelNextClick) ? (t.stopImmediatePropagation ? t.stopImmediatePropagation() : t.propagationStopped = !0, t.stopPropagation(), t.preventDefault(), !1) : !0 : !0
		},
		o.prototype.onClick = function(t) {
			var e;
			return this.trackingClick ? (this.targetElement = null, this.trackingClick = !1, !0) : "submit" === t.target.type && 0 === t.detail ? !0 : (e = this.onMouse(t), e || (this.targetElement = null), e)
		},
		o.prototype.destroy = function() {
			var t = this.layer;
			s && (t.removeEventListener("mouseover", this.onMouse, !0), t.removeEventListener("mousedown", this.onMouse, !0), t.removeEventListener("mouseup", this.onMouse, !0)),
			t.removeEventListener("click", this.onClick, !0),
			t.removeEventListener("touchstart", this.onTouchStart, !1),
			t.removeEventListener("touchmove", this.onTouchMove, !1),
			t.removeEventListener("touchend", this.onTouchEnd, !1),
			t.removeEventListener("touchcancel", this.onTouchCancel, !1)
		},
		o.notNeeded = function(t) {
			var e, n, i, o;
			if ("undefined" == typeof window.ontouchstart) return ! 0;
			if (n = +(/Chrome\/([0-9]+)/.exec(navigator.userAgent) || [, 0])[1]) {
				if (!s) return ! 0;
				if (e = document.querySelector("meta[name=viewport]")) {
					if ( - 1 !== e.content.indexOf("user-scalable=no")) return ! 0;
					if (n > 31 && document.documentElement.scrollWidth <= window.outerWidth) return ! 0
				}
			}
			if (u && (i = navigator.userAgent.match(/Version\/([0-9]*)\.([0-9]*)/), i[1] >= 10 && i[2] >= 3 && (e = document.querySelector("meta[name=viewport]")))) {
				if ( - 1 !== e.content.indexOf("user-scalable=no")) return ! 0;
				if (document.documentElement.scrollWidth <= window.outerWidth) return ! 0
			}
			return "none" === t.style.msTouchAction || "manipulation" === t.style.touchAction ? !0 : (o = +(/Firefox\/([0-9]+)/.exec(navigator.userAgent) || [, 0])[1], o >= 27 && (e = document.querySelector("meta[name=viewport]"), e && ( - 1 !== e.content.indexOf("user-scalable=no") || document.documentElement.scrollWidth <= window.outerWidth)) ? !0 : "none" === t.style.touchAction || "manipulation" === t.style.touchAction ? !0 : !1)
		},
		o.attach = function(t, e) {
			return new o(t, e)
		},
		i = function() {
			return o
		}.call(e, n, e, t),
		!(void 0 !== i && (t.exports = i))
	} ()
},
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		var o = n(46),
		r = n(48),
		s = "tap",
		a = (n(47), {
			client_type: "WAP_SMART",
			s: r.get("s"),
			channel: r.get("channel"),
			channel_content: r.get("channel_content"),
			target_city: r.get("areaCode")
		});
		a.s || delete a.s;
		var c = {
			BAIDUID: "baiduid",
			BDUSS: "bduss",
			access_log: "user_cookie",
			SID: "sid"
		},
		l = ["position", "content", "clickTimes", "s", "switch"],
		u = new o({
			monToDataSrc: l,
			triggerEvent: s
		});
		u.on("addCookieParam",
		function(t, e, n, i) {
			"BAIDUID" === e && (t[n] = i.substring(0, 32)),
			"SID" === e && t.sid && F.context("hit") && (t.sid = t.sid + "|" + F.context("hit"))
		}),
		u.config(a),
		u.setCookieList(c),
		u.resetCookieParam(c),
		u.setDataSrc({
			page: F.context("page-info") && F.context("page-info").name || 0
		}),
		i.exports = u
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		function o(t) {
			if ("" === t) return {};
			for (var e, n = {},
			i = t.split("&"), o = 0, r = i.length; r > o; o++) e = i[o].split("="),
			n[e[0]] = e[1];
			return n
		}
		function r(t, e) {
			for (var n in e) e.hasOwnProperty(n) && void 0 === t[n] && (t[n] = e[n]);
			return t
		}
		function s(t) {
			this.options = a.extend({},
			g, t),
			this._dataSrc = {},
			this._cookieList = {},
			this.globalParams = {}
		}
		var a = n(47),
		c = n(48),
		l = "/s.gif",
		u = "/v.gif",
		h = "ontouchstart" in window || window.DocumentTouch && document instanceof DocumentTouch,
		d = h ? "tap": "mousedown",
		p = n(49),
		f = n(50);
		f.init({
			$: a
		});
		var g = {
			selector: "a[mon]",
			triggerEvent: d,
			monToDataSrc: [],
			container: "body"
		};
		s.supportTouchEvent = h,
		s.prototype.send = function(t, e, n) {
			"string" == typeof t && (t = o(t)),
			void 0 === e && (e = document.body.firstElementChild),
			n = !!n;
			var i, s, c, h = +new Date,
			d = "img_nsclick_" + h,
			p = t;
			if (p.access_time = h, e) for (e.getAttribute("href") && (p.href = e.getAttribute("href")), n === !0 && (s = a.trim(a(e).attr("mon") || ""), i = o(s), p = r(p, i)), e = e.parentElement; e && e !== document.body;) s = a.trim(e.getAttribute("mon") || ""),
			i = o(s),
			p = r(p, i),
			e = e.parentElement;
			var g, m = {};
			r(m, this._dataSrc),
			p.area && (m.area = p.area, p.element ? (g = p.element, "#" === g.substr(0, 1) && a(g).length && (g = a.trim(a(g).val()))) : g = p.area, m.element = g, delete p.area, delete p.element, p.action = p.action || "click", p.element_type = p.element_type || "nav"),
			"pv" === p.element_type ? f.send(F.context("log-info-ext"), {
				action_type: "pv"
			}) : "click" === p.action && f.send({
				area: m.area,
				element: m.element
			},
			{
				action_type: "click"
			}),
			this.options.monToDataSrc.forEach(function(t) {
				null != p[t] && (m[t] = p[t]),
				delete p[t]
			});
			var v = ["locate", "other"].indexOf(p.action) >= 0 ? u: l;
			p.s || delete p.s,
			c = a.param(p),
			c += "&da_src=" + JSON.stringify(m),
			window[d] = new Image,
			window[d].onload = window[d].onerror = function() {
				window[d] = null
			},
			window[d].src = v + "?" + a.param(this.globalParams) + "&" + c,
			this.fire("send", this)
		},
		s.prototype.config = function(t) {
			a.extend(this.globalParams, t)
		},
		s.prototype.location = function(t, e) {
			e = e || 300,
			window.setTimeout(function() {
				window.location.href = t
			},
			e)
		},
		s.prototype.init = function() {
			this.$container = a(this.options.container),
			this.resetCookieParam(),
			this.handler = a.proxy(function(t) {
				var e = a.trim(t.currentTarget.getAttribute("mon") || "");
				e && this.send(e, t.currentTarget)
			},
			this),
			this.register(this.options.selector)
		},
		s.prototype.register = function(t) {
			this.$container.on(this.options.triggerEvent, t, this.handler)
		},
		s.prototype.cancel = function(t) {
			this.$container.off(this.options.triggerEvent, t, this.handler)
		},
		s.prototype.resetCookieParam = function() {
			var t = this;
			Object.keys(this._cookieList).forEach(function(e) {
				t.addCookieParam(e, t._cookieList[e])
			})
		},
		s.prototype.addCookieParam = function(t, e) {
			this._cookieList[t] = e;
			var n = c.get(t);
			n && (this.globalParams[e] = n, this.fire("addCookieParam", this.globalParams, t, e, n))
		},
		s.prototype.setCookieList = function(t) {
			var e = this;
			Object.keys(t).forEach(function(n) {
				e.addCookieParam(n, t[n])
			})
		},
		s.prototype.setDataSrc = function(t) {
			a.extend(this._dataSrc, t),
			f.set({
				client: "wap",
				page: this._dataSrc.page
			})
		},
		s.prototype.addMonToDataSrc = function(t) {
			t = a.isArray(t) ? t: [t],
			this.options.monToDataSrc = this.options.monToDataSrc.concat(t)
		},
		s.prototype.dispose = function() {
			this.cancel(this.options.selector),
			this.off();
			for (var t in this) this.hasOwnProperty(t) && delete this[t];
			this.dispose = function() {}
		},
		p.mixTo(s.prototype),
		i.exports = s
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e) {
	var n = function() {
		function t(t) {
			return null == t ? String(t) : G[$.call(t)] || "object"
		}
		function e(e) {
			return "function" == t(e)
		}
		function n(t) {
			return null != t && t == t.window
		}
		function i(t) {
			return null != t && t.nodeType == t.DOCUMENT_NODE
		}
		function o(e) {
			return "object" == t(e)
		}
		function r(t) {
			return o(t) && !n(t) && Object.getPrototypeOf(t) == Object.prototype
		}
		function s(t) {
			return "number" == typeof t.length
		}
		function a(t) {
			return _.call(t,
			function(t) {
				return null != t
			})
		}
		function c(t) {
			return t.length > 0 ? C.fn.concat.apply([], t) : t
		}
		function l(t) {
			return t.replace(/::/g, "/").replace(/([A-Z]+)([A-Z][a-z])/g, "$1_$2").replace(/([a-z\d])([A-Z])/g, "$1_$2").replace(/_/g, "-").toLowerCase()
		}
		function u(t) {
			return t in O ? O[t] : O[t] = new RegExp("(^|\\s)" + t + "(\\s|$)")
		}
		function h(t, e) {
			return "number" != typeof e || N[l(t)] ? e: e + "px"
		}
		function d(t) {
			var e, n;
			return D[t] || (e = M.createElement(t), M.body.appendChild(e), n = getComputedStyle(e, "").getPropertyValue("display"), e.parentNode.removeChild(e), "none" == n && (n = "block"), D[t] = n),
			D[t]
		}
		function p(t) {
			return "children" in t ? L.call(t.children) : C.map(t.childNodes,
			function(t) {
				return 1 == t.nodeType ? t: void 0
			})
		}
		function f(t, e) {
			var n, i = t ? t.length: 0;
			for (n = 0; i > n; n++) this[n] = t[n];
			this.length = i,
			this.selector = e || ""
		}
		function g(t, e, n) {
			for (T in e) n && (r(e[T]) || Q(e[T])) ? (r(e[T]) && !r(t[T]) && (t[T] = {}), Q(e[T]) && !Q(t[T]) && (t[T] = []), g(t[T], e[T], n)) : e[T] !== S && (t[T] = e[T])
		}
		function m(t, e) {
			return null == e ? C(t) : C(t).filter(e)
		}
		function v(t, n, i, o) {
			return e(n) ? n.call(t, i, o) : n
		}
		function y(t, e, n) {
			null == n ? t.removeAttribute(e) : t.setAttribute(e, n)
		}
		function w(t, e) {
			var n = t.className || "",
			i = n && n.baseVal !== S;
			return e === S ? i ? n.baseVal: n: void(i ? n.baseVal = e: t.className = e)
		}
		function x(t) {
			try {
				return t ? "true" == t || ("false" == t ? !1 : "null" == t ? null: +t + "" == t ? +t: /^[\[\{]/.test(t) ? C.parseJSON(t) : t) : t
			} catch(e) {
				return t
			}
		}
		function b(t, e) {
			e(t);
			for (var n = 0,
			i = t.childNodes.length; i > n; n++) b(t.childNodes[n], e)
		}
		var S, T, C, k, E, A, P = [],
		I = P.concat,
		_ = P.filter,
		L = P.slice,
		M = window.document,
		D = {},
		O = {},
		N = {
			"column-count": 1,
			columns: 1,
			"font-weight": 1,
			"line-height": 1,
			opacity: 1,
			"z-index": 1,
			zoom: 1
		},
		j = /^\s*<(\w+|!)[^>]*>/,
		Y = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
		X = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
		z = /^(?:body|html)$/i,
		W = /([A-Z])/g,
		H = ["val", "css", "html", "text", "data", "width", "height", "offset"],
		R = ["after", "prepend", "before", "append"],
		B = M.createElement("table"),
		F = M.createElement("tr"),
		U = {
			tr: M.createElement("tbody"),
			tbody: B,
			thead: B,
			tfoot: B,
			td: F,
			th: F,
			"*": M.createElement("div")
		},
		V = /complete|loaded|interactive/,
		q = /^[\w-]*$/,
		G = {},
		$ = G.toString,
		Z = {},
		J = M.createElement("div"),
		K = {
			tabindex: "tabIndex",
			readonly: "readOnly",
			"for": "htmlFor",
			"class": "className",
			maxlength: "maxLength",
			cellspacing: "cellSpacing",
			cellpadding: "cellPadding",
			rowspan: "rowSpan",
			colspan: "colSpan",
			usemap: "useMap",
			frameborder: "frameBorder",
			contenteditable: "contentEditable"
		},
		Q = Array.isArray ||
		function(t) {
			return t instanceof Array
		};
		return Z.matches = function(t, e) {
			if (!e || !t || 1 !== t.nodeType) return ! 1;
			var n = t.webkitMatchesSelector || t.mozMatchesSelector || t.oMatchesSelector || t.matchesSelector;
			if (n) return n.call(t, e);
			var i, o = t.parentNode,
			r = !o;
			return r && (o = J).appendChild(t),
			i = ~Z.qsa(o, e).indexOf(t),
			r && J.removeChild(t),
			i
		},
		E = function(t) {
			return t.replace(/-+(.)?/g,
			function(t, e) {
				return e ? e.toUpperCase() : ""
			})
		},
		A = function(t) {
			return _.call(t,
			function(e, n) {
				return t.indexOf(e) == n
			})
		},
		Z.fragment = function(t, e, n) {
			var i, o, s;
			return Y.test(t) && (i = C(M.createElement(RegExp.$1))),
			i || (t.replace && (t = t.replace(X, "<$1></$2>")), e === S && (e = j.test(t) && RegExp.$1), e in U || (e = "*"), s = U[e], s.innerHTML = "" + t, i = C.each(L.call(s.childNodes),
			function() {
				s.removeChild(this)
			})),
			r(n) && (o = C(i), C.each(n,
			function(t, e) {
				H.indexOf(t) > -1 ? o[t](e) : o.attr(t, e)
			})),
			i
		},
		Z.Z = function(t, e) {
			return new f(t, e)
		},
		Z.isZ = function(t) {
			return t instanceof Z.Z
		},
		Z.init = function(t, n) {
			var i;
			if (!t) return Z.Z();
			if ("string" == typeof t) if (t = t.trim(), "<" == t[0] && j.test(t)) i = Z.fragment(t, RegExp.$1, n),
			t = null;
			else {
				if (n !== S) return C(n).find(t);
				i = Z.qsa(M, t)
			} else {
				if (e(t)) return C(M).ready(t);
				if (Z.isZ(t)) return t;
				if (Q(t)) i = a(t);
				else if (o(t)) i = [t],
				t = null;
				else if (j.test(t)) i = Z.fragment(t.trim(), RegExp.$1, n),
				t = null;
				else {
					if (n !== S) return C(n).find(t);
					i = Z.qsa(M, t)
				}
			}
			return Z.Z(i, t)
		},
		C = function(t, e) {
			return Z.init(t, e)
		},
		C.extend = function(t) {
			var e, n = L.call(arguments, 1);
			return "boolean" == typeof t && (e = t, t = n.shift()),
			n.forEach(function(n) {
				g(t, n, e)
			}),
			t
		},
		Z.qsa = function(t, e) {
			var n, i = "#" == e[0],
			o = !i && "." == e[0],
			r = i || o ? e.slice(1) : e,
			s = q.test(r);
			return t.getElementById && s && i ? (n = t.getElementById(r)) ? [n] : [] : 1 !== t.nodeType && 9 !== t.nodeType && 11 !== t.nodeType ? [] : L.call(s && !i && t.getElementsByClassName ? o ? t.getElementsByClassName(r) : t.getElementsByTagName(e) : t.querySelectorAll(e))
		},
		C.contains = M.documentElement.contains ?
		function(t, e) {
			return t !== e && t.contains(e)
		}: function(t, e) {
			for (; e && (e = e.parentNode);) if (e === t) return ! 0;
			return ! 1
		},
		C.type = t,
		C.isFunction = e,
		C.isWindow = n,
		C.isArray = Q,
		C.isPlainObject = r,
		C.isEmptyObject = function(t) {
			var e;
			for (e in t) return ! 1;
			return ! 0
		},
		C.inArray = function(t, e, n) {
			return P.indexOf.call(e, t, n)
		},
		C.camelCase = E,
		C.trim = function(t) {
			return null == t ? "": String.prototype.trim.call(t)
		},
		C.uuid = 0,
		C.support = {},
		C.expr = {},
		C.noop = function() {},
		C.map = function(t, e) {
			var n, i, o, r = [];
			if (s(t)) for (i = 0; i < t.length; i++) n = e(t[i], i),
			null != n && r.push(n);
			else for (o in t) n = e(t[o], o),
			null != n && r.push(n);
			return c(r)
		},
		C.each = function(t, e) {
			var n, i;
			if (s(t)) {
				for (n = 0; n < t.length; n++) if (e.call(t[n], n, t[n]) === !1) return t
			} else for (i in t) if (e.call(t[i], i, t[i]) === !1) return t;
			return t
		},
		C.grep = function(t, e) {
			return _.call(t, e)
		},
		window.JSON && (C.parseJSON = JSON.parse),
		C.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),
		function(t, e) {
			G["[object " + e + "]"] = e.toLowerCase()
		}),
		C.fn = {
			constructor: Z.Z,
			length: 0,
			forEach: P.forEach,
			reduce: P.reduce,
			push: P.push,
			sort: P.sort,
			splice: P.splice,
			indexOf: P.indexOf,
			concat: function() {
				var t, e, n = [];
				for (t = 0; t < arguments.length; t++) e = arguments[t],
				n[t] = Z.isZ(e) ? e.toArray() : e;
				return I.apply(Z.isZ(this) ? this.toArray() : this, n)
			},
			map: function(t) {
				return C(C.map(this,
				function(e, n) {
					return t.call(e, n, e)
				}))
			},
			slice: function() {
				return C(L.apply(this, arguments))
			},
			ready: function(t) {
				return V.test(M.readyState) && M.body ? t(C) : M.addEventListener("DOMContentLoaded",
				function() {
					t(C)
				},
				!1),
				this
			},
			get: function(t) {
				return t === S ? L.call(this) : this[t >= 0 ? t: t + this.length]
			},
			toArray: function() {
				return this.get()
			},
			size: function() {
				return this.length
			},
			remove: function() {
				return this.each(function() {
					null != this.parentNode && this.parentNode.removeChild(this)
				})
			},
			each: function(t) {
				return P.every.call(this,
				function(e, n) {
					return t.call(e, n, e) !== !1
				}),
				this
			},
			filter: function(t) {
				return e(t) ? this.not(this.not(t)) : C(_.call(this,
				function(e) {
					return Z.matches(e, t)
				}))
			},
			add: function(t, e) {
				return C(A(this.concat(C(t, e))))
			},
			is: function(t) {
				return this.length > 0 && Z.matches(this[0], t)
			},
			not: function(t) {
				var n = [];
				if (e(t) && t.call !== S) this.each(function(e) {

					t.call(this, e) || n.push(this)
				});
				else {
					var i = "string" == typeof t ? this.filter(t) : s(t) && e(t.item) ? L.call(t) : C(t);
					this.forEach(function(t) {
						i.indexOf(t) < 0 && n.push(t)
					})
				}
				return C(n)
			},
			has: function(t) {
				return this.filter(function() {
					return o(t) ? C.contains(this, t) : C(this).find(t).size()
				})
			},
			eq: function(t) {
				return - 1 === t ? this.slice(t) : this.slice(t, +t + 1)
			},
			first: function() {
				var t = this[0];
				return t && !o(t) ? t: C(t)
			},
			last: function() {
				var t = this[this.length - 1];
				return t && !o(t) ? t: C(t)
			},
			find: function(t) {
				var e, n = this;
				return e = t ? "object" == typeof t ? C(t).filter(function() {
					var t = this;
					return P.some.call(n,
					function(e) {
						return C.contains(e, t)
					})
				}) : 1 == this.length ? C(Z.qsa(this[0], t)) : this.map(function() {
					return Z.qsa(this, t)
				}) : C()
			},
			closest: function(t, e) {
				var n = this[0],
				o = !1;
				for ("object" == typeof t && (o = C(t)); n && !(o ? o.indexOf(n) >= 0 : Z.matches(n, t));) n = n !== e && !i(n) && n.parentNode;
				return C(n)
			},
			parents: function(t) {
				for (var e = [], n = this; n.length > 0;) n = C.map(n,
				function(t) {
					return (t = t.parentNode) && !i(t) && e.indexOf(t) < 0 ? (e.push(t), t) : void 0
				});
				return m(e, t)
			},
			parent: function(t) {
				return m(A(this.pluck("parentNode")), t)
			},
			children: function(t) {
				return m(this.map(function() {
					return p(this)
				}), t)
			},
			contents: function() {
				return this.map(function() {
					return this.contentDocument || L.call(this.childNodes)
				})
			},
			siblings: function(t) {
				return m(this.map(function(t, e) {
					return _.call(p(e.parentNode),
					function(t) {
						return t !== e
					})
				}), t)
			},
			empty: function() {
				return this.each(function() {
					this.innerHTML = ""
				})
			},
			pluck: function(t) {
				return C.map(this,
				function(e) {
					return e[t]
				})
			},
			show: function() {
				return this.each(function() {
					"none" == this.style.display && (this.style.display = ""),
					"none" == getComputedStyle(this, "").getPropertyValue("display") && (this.style.display = d(this.nodeName))
				})
			},
			replaceWith: function(t) {
				return this.before(t).remove()
			},
			wrap: function(t) {
				var n = e(t);
				if (this[0] && !n) var i = C(t).get(0),
				o = i.parentNode || this.length > 1;
				return this.each(function(e) {
					C(this).wrapAll(n ? t.call(this, e) : o ? i.cloneNode(!0) : i)
				})
			},
			wrapAll: function(t) {
				if (this[0]) {
					C(this[0]).before(t = C(t));
					for (var e; (e = t.children()).length;) t = e.first();
					C(t).append(this)
				}
				return this
			},
			wrapInner: function(t) {
				var n = e(t);
				return this.each(function(e) {
					var i = C(this),
					o = i.contents(),
					r = n ? t.call(this, e) : t;
					o.length ? o.wrapAll(r) : i.append(r)
				})
			},
			unwrap: function() {
				return this.parent().each(function() {
					C(this).replaceWith(C(this).children())
				}),
				this
			},
			clone: function() {
				return this.map(function() {
					return this.cloneNode(!0)
				})
			},
			hide: function() {
				return this.css("display", "none")
			},
			toggle: function(t) {
				return this.each(function() {
					var e = C(this); (t === S ? "none" == e.css("display") : t) ? e.show() : e.hide()
				})
			},
			prev: function(t) {
				return C(this.pluck("previousElementSibling")).filter(t || "*")
			},
			next: function(t) {
				return C(this.pluck("nextElementSibling")).filter(t || "*")
			},
			html: function(t) {
				return 0 in arguments ? this.each(function(e) {
					var n = this.innerHTML;
					C(this).empty().append(v(this, t, e, n))
				}) : 0 in this ? this[0].innerHTML: null
			},
			text: function(t) {
				return 0 in arguments ? this.each(function(e) {
					var n = v(this, t, e, this.textContent);
					this.textContent = null == n ? "": "" + n
				}) : 0 in this ? this[0].textContent: null
			},
			attr: function(t, e) {
				var n;
				return "string" != typeof t || 1 in arguments ? this.each(function(n) {
					if (1 === this.nodeType) if (o(t)) for (T in t) y(this, T, t[T]);
					else y(this, t, v(this, e, n, this.getAttribute(t)))
				}) : this.length && 1 === this[0].nodeType ? !(n = this[0].getAttribute(t)) && t in this[0] ? this[0][t] : n: S
			},
			removeAttr: function(t) {
				return this.each(function() {
					1 === this.nodeType && t.split(" ").forEach(function(t) {
						y(this, t)
					},
					this)
				})
			},
			prop: function(t, e) {
				return t = K[t] || t,
				1 in arguments ? this.each(function(n) {
					this[t] = v(this, e, n, this[t])
				}) : this[0] && this[0][t]
			},
			data: function(t, e) {
				var n = "data-" + t.replace(W, "-$1").toLowerCase(),
				i = 1 in arguments ? this.attr(n, e) : this.attr(n);
				return null !== i ? x(i) : S
			},
			val: function(t) {
				return 0 in arguments ? this.each(function(e) {
					this.value = v(this, t, e, this.value)
				}) : this[0] && (this[0].multiple ? C(this[0]).find("option").filter(function() {
					return this.selected
				}).pluck("value") : this[0].value)
			},
			offset: function(t) {
				if (t) return this.each(function(e) {
					var n = C(this),
					i = v(this, t, e, n.offset()),
					o = n.offsetParent().offset(),
					r = {
						top: i.top - o.top,
						left: i.left - o.left
					};
					"static" == n.css("position") && (r.position = "relative"),
					n.css(r)
				});
				if (!this.length) return null;
				if (!C.contains(M.documentElement, this[0])) return {
					top: 0,
					left: 0
				};
				var e = this[0].getBoundingClientRect();
				return {
					left: e.left + window.pageXOffset,
					top: e.top + window.pageYOffset,
					width: Math.round(e.width),
					height: Math.round(e.height)
				}
			},
			css: function(e, n) {
				if (arguments.length < 2) {
					var i, o = this[0];
					if (!o) return;
					if (i = getComputedStyle(o, ""), "string" == typeof e) return o.style[E(e)] || i.getPropertyValue(e);
					if (Q(e)) {
						var r = {};
						return C.each(e,
						function(t, e) {
							r[e] = o.style[E(e)] || i.getPropertyValue(e)
						}),
						r
					}
				}
				var s = "";
				if ("string" == t(e)) n || 0 === n ? s = l(e) + ":" + h(e, n) : this.each(function() {
					this.style.removeProperty(l(e))
				});
				else for (T in e) e[T] || 0 === e[T] ? s += l(T) + ":" + h(T, e[T]) + ";": this.each(function() {
					this.style.removeProperty(l(T))
				});
				return this.each(function() {
					this.style.cssText += ";" + s
				})
			},
			index: function(t) {
				return t ? this.indexOf(C(t)[0]) : this.parent().children().indexOf(this[0])
			},
			hasClass: function(t) {
				return t ? P.some.call(this,
				function(t) {
					return this.test(w(t))
				},
				u(t)) : !1
			},
			addClass: function(t) {
				return t ? this.each(function(e) {
					if ("className" in this) {
						k = [];
						var n = w(this),
						i = v(this, t, e, n);
						i.split(/\s+/g).forEach(function(t) {
							C(this).hasClass(t) || k.push(t)
						},
						this),
						k.length && w(this, n + (n ? " ": "") + k.join(" "))
					}
				}) : this
			},
			removeClass: function(t) {
				return this.each(function(e) {
					if ("className" in this) {
						if (t === S) return w(this, "");
						k = w(this),
						v(this, t, e, k).split(/\s+/g).forEach(function(t) {
							k = k.replace(u(t), " ")
						}),
						w(this, k.trim())
					}
				})
			},
			toggleClass: function(t, e) {
				return t ? this.each(function(n) {
					var i = C(this),
					o = v(this, t, n, w(this));
					o.split(/\s+/g).forEach(function(t) { (e === S ? !i.hasClass(t) : e) ? i.addClass(t) : i.removeClass(t)
					})
				}) : this
			},
			scrollTop: function(t) {
				if (this.length) {
					var e = "scrollTop" in this[0];
					return t === S ? e ? this[0].scrollTop: this[0].pageYOffset: this.each(e ?
					function() {
						this.scrollTop = t
					}: function() {
						this.scrollTo(this.scrollX, t)
					})
				}
			},
			scrollLeft: function(t) {
				if (this.length) {
					var e = "scrollLeft" in this[0];
					return t === S ? e ? this[0].scrollLeft: this[0].pageXOffset: this.each(e ?
					function() {
						this.scrollLeft = t
					}: function() {
						this.scrollTo(t, this.scrollY)
					})
				}
			},
			position: function() {
				if (this.length) {
					var t = this[0],
					e = this.offsetParent(),
					n = this.offset(),
					i = z.test(e[0].nodeName) ? {
						top: 0,
						left: 0
					}: e.offset();
					return n.top -= parseFloat(C(t).css("margin-top")) || 0,
					n.left -= parseFloat(C(t).css("margin-left")) || 0,
					i.top += parseFloat(C(e[0]).css("border-top-width")) || 0,
					i.left += parseFloat(C(e[0]).css("border-left-width")) || 0,
					{
						top: n.top - i.top,
						left: n.left - i.left
					}
				}
			},
			offsetParent: function() {
				return this.map(function() {
					for (var t = this.offsetParent || M.body; t && !z.test(t.nodeName) && "static" == C(t).css("position");) t = t.offsetParent;
					return t
				})
			}
		},
		C.fn.detach = C.fn.remove,
		["width", "height"].forEach(function(t) {
			var e = t.replace(/./,
			function(t) {
				return t[0].toUpperCase()
			});
			C.fn[t] = function(o) {
				var r, s = this[0];
				return o === S ? n(s) ? s["inner" + e] : i(s) ? s.documentElement["scroll" + e] : (r = this.offset()) && r[t] : this.each(function(e) {
					s = C(this),
					s.css(t, v(this, o, e, s[t]()))
				})
			}
		}),
		R.forEach(function(e, n) {
			var i = n % 2;
			C.fn[e] = function() {
				var e, o, r = C.map(arguments,
				function(n) {
					return e = t(n),
					"object" == e || "array" == e || null == n ? n: Z.fragment(n)
				}),
				s = this.length > 1;
				return r.length < 1 ? this: this.each(function(t, e) {
					o = i ? e: e.parentNode,
					e = 0 == n ? e.nextSibling: 1 == n ? e.firstChild: 2 == n ? e: null;
					var a = C.contains(M.documentElement, o);
					r.forEach(function(t) {
						if (s) t = t.cloneNode(!0);
						else if (!o) return C(t).remove();
						o.insertBefore(t, e),
						a && b(t,
						function(t) {
							null == t.nodeName || "SCRIPT" !== t.nodeName.toUpperCase() || t.type && "text/javascript" !== t.type || t.src || window.eval.call(window, t.innerHTML)
						})
					})
				})
			},
			C.fn[i ? e + "To": "insert" + (n ? "Before": "After")] = function(t) {
				return C(t)[e](this),
				this
			}
		}),
		Z.Z.prototype = f.prototype = C.fn,
		Z.uniq = A,
		Z.deserializeValue = x,
		C.zepto = Z,
		C
	} ();
	window.Zepto = n,
	void 0 === window.$ && (window.$ = n),
	function(t) {
		function e(e, n, i) {
			var o = t.Event(n);
			return t(e).trigger(o, i),
			!o.isDefaultPrevented()
		}
		function n(t, n, i, o) {
			return t.global ? e(n || y, i, o) : void 0
		}
		function i(e) {
			e.global && 0 === t.active++&&n(e, null, "ajaxStart")
		}
		function o(e) {
			e.global && !--t.active && n(e, null, "ajaxStop")
		}
		function r(t, e) {
			var i = e.context;
			return e.beforeSend.call(i, t, e) === !1 || n(e, i, "ajaxBeforeSend", [t, e]) === !1 ? !1 : void n(e, i, "ajaxSend", [t, e])
		}
		function s(t, e, i, o) {
			var r = i.context,
			s = "success";
			i.success.call(r, t, s, e),
			o && o.resolveWith(r, [t, s, e]),
			n(i, r, "ajaxSuccess", [e, i, t]),
			c(s, e, i)
		}
		function a(t, e, i, o, r) {
			var s = o.context;
			o.error.call(s, i, e, t),
			r && r.rejectWith(s, [i, e, t]),
			n(o, s, "ajaxError", [i, o, t || e]),
			c(e, i, o)
		}
		function c(t, e, i) {
			var r = i.context;
			i.complete.call(r, e, t),
			n(i, r, "ajaxComplete", [e, i]),
			o(i)
		}
		function l() {}
		function u(t) {
			return t && (t = t.split(";", 2)[0]),
			t && (t == T ? "html": t == S ? "json": x.test(t) ? "script": b.test(t) && "xml") || "text"
		}
		function h(t, e) {
			return "" == e ? t: (t + "&" + e).replace(/[&?]{1,2}/, "?")
		}
		function d(e) {
			e.processData && e.data && "string" != t.type(e.data) && (e.data = t.param(e.data, e.traditional)),
			!e.data || e.type && "GET" != e.type.toUpperCase() || (e.url = h(e.url, e.data), e.data = void 0)
		}
		function p(e, n, i, o) {
			return t.isFunction(n) && (o = i, i = n, n = void 0),
			t.isFunction(i) || (o = i, i = void 0),
			{
				url: e,
				data: n,
				success: i,
				dataType: o
			}
		}
		function f(e, n, i, o) {
			var r, s = t.isArray(n),
			a = t.isPlainObject(n);
			t.each(n,
			function(n, c) {
				r = t.type(c),
				o && (n = i ? o: o + "[" + (a || "object" == r || "array" == r ? n: "") + "]"),
				!o && s ? e.add(c.name, c.value) : "array" == r || !i && "object" == r ? f(e, c, i, n) : e.add(n, c)
			})
		}
		var g, m, v = 0,
		y = window.document,
		w = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
		x = /^(?:text|application)\/javascript/i,
		b = /^(?:text|application)\/xml/i,
		S = "application/json",
		T = "text/html",
		C = /^\s*$/,
		k = y.createElement("a");
		k.href = window.location.href,
		t.active = 0,
		t.ajaxJSONP = function(e, n) {
			if (! ("type" in e)) return t.ajax(e);
			var i, o, c = e.jsonpCallback,
			l = (t.isFunction(c) ? c() : c) || "jsonp" + ++v,
			u = y.createElement("script"),
			h = window[l],
			d = function(e) {
				t(u).triggerHandler("error", e || "abort")
			},
			p = {
				abort: d
			};
			return n && n.promise(p),
			t(u).on("load error",
			function(r, c) {
				clearTimeout(o),
				t(u).off().remove(),
				"error" != r.type && i ? s(i[0], p, e, n) : a(null, c || "error", p, e, n),
				window[l] = h,
				i && t.isFunction(h) && h(i[0]),
				h = i = void 0
			}),
			r(p, e) === !1 ? (d("abort"), p) : (window[l] = function() {
				i = arguments
			},
			u.src = e.url.replace(/\?(.+)=\?/, "?$1=" + l), y.head.appendChild(u), e.timeout > 0 && (o = setTimeout(function() {
				d("timeout")
			},
			e.timeout)), p)
		},
		t.ajaxSettings = {
			type: "GET",
			beforeSend: l,
			success: l,
			error: l,
			complete: l,
			context: null,
			global: !0,
			xhr: function() {
				return new window.XMLHttpRequest
			},
			accepts: {
				script: "text/javascript, application/javascript, application/x-javascript",
				json: S,
				xml: "application/xml, text/xml",
				html: T,
				text: "text/plain"
			},
			crossDomain: !1,
			timeout: 0,
			processData: !0,
			cache: !0
		},
		t.ajax = function(e) {
			var n, o, c = t.extend({},
			e || {}),
			p = t.Deferred && t.Deferred();
			for (g in t.ajaxSettings) void 0 === c[g] && (c[g] = t.ajaxSettings[g]);
			i(c),
			c.crossDomain || (n = y.createElement("a"), n.href = c.url, n.href = n.href, c.crossDomain = k.protocol + "//" + k.host != n.protocol + "//" + n.host),
			c.url || (c.url = window.location.toString()),
			(o = c.url.indexOf("#")) > -1 && (c.url = c.url.slice(0, o)),
			d(c);
			var f = c.dataType,
			v = /\?.+=\?/.test(c.url);
			if (v && (f = "jsonp"), c.cache !== !1 && (e && e.cache === !0 || "script" != f && "jsonp" != f) || (c.url = h(c.url, "_=" + Date.now())), "jsonp" == f) return v || (c.url = h(c.url, c.jsonp ? c.jsonp + "=?": c.jsonp === !1 ? "": "callback=?")),
			t.ajaxJSONP(c, p);
			var w, x = c.accepts[f],
			b = {},
			S = function(t, e) {
				b[t.toLowerCase()] = [t, e]
			},
			T = /^([\w-]+:)\/\//.test(c.url) ? RegExp.$1: window.location.protocol,
			E = c.xhr(),
			A = E.setRequestHeader;
			if (p && p.promise(E), c.crossDomain || S("X-Requested-With", "XMLHttpRequest"), S("Accept", x || "*/*"), (x = c.mimeType || x) && (x.indexOf(",") > -1 && (x = x.split(",", 2)[0]), E.overrideMimeType && E.overrideMimeType(x)), (c.contentType || c.contentType !== !1 && c.data && "GET" != c.type.toUpperCase()) && S("Content-Type", c.contentType || "application/x-www-form-urlencoded"), c.headers) for (m in c.headers) S(m, c.headers[m]);
			if (E.setRequestHeader = S, E.onreadystatechange = function() {
				if (4 == E.readyState) {
					E.onreadystatechange = l,
					clearTimeout(w);
					var e, n = !1;
					if (E.status >= 200 && E.status < 300 || 304 == E.status || 0 == E.status && "file:" == T) {
						f = f || u(c.mimeType || E.getResponseHeader("content-type")),
						e = E.responseText;
						try {
							"script" == f ? (1, eval)(e) : "xml" == f ? e = E.responseXML: "json" == f && (e = C.test(e) ? null: t.parseJSON(e))
						} catch(i) {
							n = i
						}
						n ? a(n, "parsererror", E, c, p) : s(e, E, c, p)
					} else a(E.statusText || null, E.status ? "error": "abort", E, c, p)
				}
			},
			r(E, c) === !1) return E.abort(),
			a(null, "abort", E, c, p),
			E;
			if (c.xhrFields) for (m in c.xhrFields) E[m] = c.xhrFields[m];
			var P = "async" in c ? c.async: !0;
			E.open(c.type, c.url, P, c.username, c.password);
			for (m in b) A.apply(E, b[m]);
			return c.timeout > 0 && (w = setTimeout(function() {
				E.onreadystatechange = l,
				E.abort(),
				a(null, "timeout", E, c, p)
			},
			c.timeout)),
			E.send(c.data ? c.data: null),
			E
		},
		t.get = function() {
			return t.ajax(p.apply(null, arguments))
		},
		t.post = function() {
			var e = p.apply(null, arguments);
			return e.type = "POST",
			t.ajax(e)
		},
		t.getJSON = function() {
			var e = p.apply(null, arguments);
			return e.dataType = "json",
			t.ajax(e)
		},
		t.fn.load = function(e, n, i) {
			if (!this.length) return this;
			var o, r = this,
			s = e.split(/\s/),
			a = p(e, n, i),
			c = a.success;
			return s.length > 1 && (a.url = s[0], o = s[1]),
			a.success = function(e) {
				r.html(o ? t("<div>").html(e.replace(w, "")).find(o) : e),
				c && c.apply(r, arguments)
			},
			t.ajax(a),
			this
		};
		var E = encodeURIComponent;
		t.param = function(e, n) {
			var i = [];
			return i.add = function(e, n) {
				t.isFunction(n) && (n = n()),
				null == n && (n = ""),
				this.push(E(e) + "=" + E(n))
			},
			f(i, e, n),
			i.join("&").replace(/%20/g, "+")
		}
	} (n),
	function(t) {
		t.Callbacks = function(e) {
			e = t.extend({},
			e);
			var n, i, o, r, s, a, c = [],
			l = !e.once && [],
			u = function(t) {
				for (n = e.memory && t, i = !0, a = r || 0, r = 0, s = c.length, o = !0; c && s > a; ++a) if (c[a].apply(t[0], t[1]) === !1 && e.stopOnFalse) {
					n = !1;
					break
				}
				o = !1,
				c && (l ? l.length && u(l.shift()) : n ? c.length = 0 : h.disable())
			},
			h = {
				add: function() {
					if (c) {
						var i = c.length,
						a = function(n) {
							t.each(n,
							function(t, n) {
								"function" == typeof n ? e.unique && h.has(n) || c.push(n) : n && n.length && "string" != typeof n && a(n)
							})
						};
						a(arguments),
						o ? s = c.length: n && (r = i, u(n))
					}
					return this
				},
				remove: function() {
					return c && t.each(arguments,
					function(e, n) {
						for (var i; (i = t.inArray(n, c, i)) > -1;) c.splice(i, 1),
						o && (s >= i && --s, a >= i && --a)
					}),
					this
				},
				has: function(e) {
					return ! (!c || !(e ? t.inArray(e, c) > -1 : c.length))
				},
				empty: function() {
					return s = c.length = 0,
					this
				},
				disable: function() {
					return c = l = n = void 0,
					this
				},
				disabled: function() {
					return ! c
				},
				lock: function() {
					return l = void 0,
					n || h.disable(),
					this
				},
				locked: function() {
					return ! l
				},
				fireWith: function(t, e) {
					return ! c || i && !l || (e = e || [], e = [t, e.slice ? e.slice() : e], o ? l.push(e) : u(e)),
					this
				},
				fire: function() {
					return h.fireWith(this, arguments)
				},
				fired: function() {
					return !! i
				}
			};
			return h
		}
	} (n),
	function(t) {
		function e(n) {
			var i = [["resolve", "done", t.Callbacks({
				once: 1,
				memory: 1
			}), "resolved"], ["reject", "fail", t.Callbacks({
				once: 1,
				memory: 1
			}), "rejected"], ["notify", "progress", t.Callbacks({
				memory: 1
			})]],
			o = "pending",
			r = {
				state: function() {
					return o
				},
				always: function() {
					return s.done(arguments).fail(arguments),
					this
				},
				then: function() {
					var n = arguments;
					return e(function(e) {
						t.each(i,
						function(i, o) {
							var a = t.isFunction(n[i]) && n[i];
							s[o[1]](function() {
								var n = a && a.apply(this, arguments);
								if (n && t.isFunction(n.promise)) n.promise().done(e.resolve).fail(e.reject).progress(e.notify);
								else {
									var i = this === r ? e.promise() : this,
									s = a ? [n] : arguments;
									e[o[0] + "With"](i, s)
								}
							})
						}),
						n = null
					}).promise()
				},
				promise: function(e) {
					return null != e ? t.extend(e, r) : r
				}
			},
			s = {};
			return t.each(i,
			function(t, e) {
				var n = e[2],
				a = e[3];
				r[e[1]] = n.add,
				a && n.add(function() {
					o = a
				},
				i[1 ^ t][2].disable, i[2][2].lock),
				s[e[0]] = function() {
					return s[e[0] + "With"](this === s ? r: this, arguments),
					this
				},
				s[e[0] + "With"] = n.fireWith
			}),
			r.promise(s),
			n && n.call(s, s),
			s
		}
		var n = Array.prototype.slice;
		t.when = function(i) {
			var o, r, s, a = n.call(arguments),
			c = a.length,
			l = 0,
			u = 1 !== c || i && t.isFunction(i.promise) ? c: 0,
			h = 1 === u ? i: e(),
			d = function(t, e, i) {
				return function(r) {
					e[t] = this,
					i[t] = arguments.length > 1 ? n.call(arguments) : r,
					i === o ? h.notifyWith(e, i) : --u || h.resolveWith(e, i)
				}
			};
			if (c > 1) for (o = new Array(c), r = new Array(c), s = new Array(c); c > l; ++l) a[l] && t.isFunction(a[l].promise) ? a[l].promise().done(d(l, s, a)).fail(h.reject).progress(d(l, r, o)) : --u;
			return u || h.resolveWith(s, a),
			h.promise()
		},
		t.Deferred = e
	} (n),
	function(t) {
		function e(t, e) {
			var n = this.os = {},
			i = this.browser = {},
			o = t.match(/Web[kK]it[\/]{0,1}([\d.]+)/),
			r = t.match(/(Android);?[\s\/]+([\d.]+)?/),
			s = !!t.match(/\(Macintosh\; Intel /),
			a = t.match(/(iPad).*OS\s([\d_]+)/),
			c = t.match(/(iPod)(.*OS\s([\d_]+))?/),
			l = !a && t.match(/(iPhone\sOS)\s([\d_]+)/),
			u = t.match(/(webOS|hpwOS)[\s\/]([\d.]+)/),
			h = /Win\d{2}|Windows/.test(e),
			d = t.match(/Windows Phone ([\d.]+)/),
			p = u && t.match(/TouchPad/),
			f = t.match(/Kindle\/([\d.]+)/),
			g = t.match(/Silk\/([\d._]+)/),
			m = t.match(/(BlackBerry).*Version\/([\d.]+)/),
			v = t.match(/(BB10).*Version\/([\d.]+)/),
			y = t.match(/(RIM\sTablet\sOS)\s([\d.]+)/),
			w = t.match(/PlayBook/),
			x = t.match(/Chrome\/([\d.]+)/) || t.match(/CriOS\/([\d.]+)/),
			b = t.match(/Firefox\/([\d.]+)/),
			S = t.match(/\((?:Mobile|Tablet); rv:([\d.]+)\).*Firefox\/[\d.]+/),
			T = t.match(/MSIE\s([\d.]+)/) || t.match(/Trident\/[\d](?=[^\?]+).*rv:([0-9.].)/),
			C = !x && t.match(/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/),
			k = C || t.match(/Version\/([\d.]+)([^S](Safari)|[^M]*(Mobile)[^S]*(Safari))/); (i.webkit = !!o) && (i.version = o[1]),
			r && (n.android = !0, n.version = r[2]),
			l && !c && (n.ios = n.iphone = !0, n.version = l[2].replace(/_/g, ".")),
			a && (n.ios = n.ipad = !0, n.version = a[2].replace(/_/g, ".")),
			c && (n.ios = n.ipod = !0, n.version = c[3] ? c[3].replace(/_/g, ".") : null),
			d && (n.wp = !0, n.version = d[1]),
			u && (n.webos = !0, n.version = u[2]),
			p && (n.touchpad = !0),
			m && (n.blackberry = !0, n.version = m[2]),
			v && (n.bb10 = !0, n.version = v[2]),
			y && (n.rimtabletos = !0, n.version = y[2]),
			w && (i.playbook = !0),
			f && (n.kindle = !0, n.version = f[1]),
			g && (i.silk = !0, i.version = g[1]),
			!g && n.android && t.match(/Kindle Fire/) && (i.silk = !0),
			x && (i.chrome = !0, i.version = x[1]),
			b && (i.firefox = !0, i.version = b[1]),
			S && (n.firefoxos = !0, n.version = S[1]),
			T && (i.ie = !0, i.version = T[1]),
			k && (s || n.ios || h) && (i.safari = !0, n.ios || (i.version = k[1])),
			C && (i.webview = !0),
			n.tablet = !!(a || w || r && !t.match(/Mobile/) || b && t.match(/Tablet/) || T && !t.match(/Phone/) && t.match(/Touch/)),
			n.phone = !(n.tablet || n.ipod || !(r || l || u || m || v || x && t.match(/Android/) || x && t.match(/CriOS\/([\d.]+)/) || b && t.match(/Mobile/) || T && t.match(/Touch/)))
		}
		e.call(t, navigator.userAgent, navigator.platform),
		t.__detect = e
	} (n),
	function(t) {
		function e(t) {
			return t._zid || (t._zid = d++)
		}
		function n(t, n, r, s) {
			if (n = i(n), n.ns) var a = o(n.ns);
			return (m[e(t)] || []).filter(function(t) {
				return t && (!n.e || t.e == n.e) && (!n.ns || a.test(t.ns)) && (!r || e(t.fn) === e(r)) && (!s || t.sel == s)
			})
		}
		function i(t) {
			var e = ("" + t).split(".");
			return {
				e: e[0],
				ns: e.slice(1).sort().join(" ")
			}
		}
		function o(t) {
			return new RegExp("(?:^| )" + t.replace(" ", " .* ?") + "(?: |$)")
		}
		function r(t, e) {
			return t.del && !y && t.e in w || !!e
		}
		function s(t) {
			return x[t] || y && w[t] || t
		}
		function a(n, o, a, c, u, d, p) {
			var f = e(n),
			g = m[f] || (m[f] = []);
			o.split(/\s/).forEach(function(e) {
				if ("ready" == e) return t(document).ready(a);
				var o = i(e);
				o.fn = a,
				o.sel = u,
				o.e in x && (a = function(e) {
					var n = e.relatedTarget;
					return ! n || n !== this && !t.contains(this, n) ? o.fn.apply(this, arguments) : void 0
				}),
				o.del = d;
				var f = d || a;
				o.proxy = function(t) {
					if (t = l(t), !t.isImmediatePropagationStopped()) {
						t.data = c;
						var e = f.apply(n, t._args == h ? [t] : [t].concat(t._args));
						return e === !1 && (t.preventDefault(), t.stopPropagation()),
						e
					}
				},
				o.i = g.length,
				g.push(o),
				"addEventListener" in n && n.addEventListener(s(o.e), o.proxy, r(o, p))
			})
		}
		function c(t, i, o, a, c) {
			var l = e(t); (i || "").split(/\s/).forEach(function(e) {
				n(t, e, o, a).forEach(function(e) {
					delete m[l][e.i],
					"removeEventListener" in t && t.removeEventListener(s(e.e), e.proxy, r(e, c))
				})
			})
		}
		function l(e, n) {
			return (n || !e.isDefaultPrevented) && (n || (n = e), t.each(C,
			function(t, i) {
				var o = n[t];
				e[t] = function() {
					return this[i] = b,
					o && o.apply(n, arguments)
				},
				e[i] = S
			}), (n.defaultPrevented !== h ? n.defaultPrevented: "returnValue" in n ? n.returnValue === !1 : n.getPreventDefault && n.getPreventDefault()) && (e.isDefaultPrevented = b)),
			e
		}
		function u(t) {
			var e, n = {
				originalEvent: t
			};
			for (e in t) T.test(e) || t[e] === h || (n[e] = t[e]);
			return l(n, t)
		}
		var h, d = 1,
		p = Array.prototype.slice,
		f = t.isFunction,
		g = function(t) {
			return "string" == typeof t
		},
		m = {},
		v = {},
		y = "onfocusin" in window,
		w = {
			focus: "focusin",
			blur: "focusout"
		},
		x = {
			mouseenter: "mouseover",
			mouseleave: "mouseout"
		};
		v.click = v.mousedown = v.mouseup = v.mousemove = "MouseEvents",
		t.event = {
			add: a,
			remove: c
		},
		t.proxy = function(n, i) {
			var o = 2 in arguments && p.call(arguments, 2);
			if (f(n)) {
				var r = function() {
					return n.apply(i, o ? o.concat(p.call(arguments)) : arguments)
				};
				return r._zid = e(n),
				r
			}
			if (g(i)) return o ? (o.unshift(n[i], n), t.proxy.apply(null, o)) : t.proxy(n[i], n);
			throw new TypeError("expected function")
		},
		t.fn.bind = function(t, e, n) {
			return this.on(t, e, n)
		},
		t.fn.unbind = function(t, e) {
			return this.off(t, e)
		},
		t.fn.one = function(t, e, n, i) {
			return this.on(t, e, n, i, 1)
		};
		var b = function() {
			return ! 0
		},
		S = function() {
			return ! 1
		},
		T = /^([A-Z]|returnValue$|layer[XY]$)/,
		C = {
			preventDefault: "isDefaultPrevented",
			stopImmediatePropagation: "isImmediatePropagationStopped",
			stopPropagation: "isPropagationStopped"
		};
		t.fn.delegate = function(t, e, n) {
			return this.on(e, t, n)
		},
		t.fn.undelegate = function(t, e, n) {
			return this.off(e, t, n)
		},
		t.fn.live = function(e, n) {
			return t(document.body).delegate(this.selector, e, n),
			this
		},
		t.fn.die = function(e, n) {
			return t(document.body).undelegate(this.selector, e, n),
			this
		},
		t.fn.on = function(e, n, i, o, r) {
			var s, l, d = this;
			return e && !g(e) ? (t.each(e,
			function(t, e) {
				d.on(t, n, i, e, r)
			}), d) : (g(n) || f(o) || o === !1 || (o = i, i = n, n = h), (o === h || i === !1) && (o = i, i = h), o === !1 && (o = S), d.each(function(h, d) {
				r && (s = function(t) {
					return c(d, t.type, o),
					o.apply(this, arguments)
				}),
				n && (l = function(e) {
					var i, r = t(e.target).closest(n, d).get(0);
					return r && r !== d ? (i = t.extend(u(e), {
						currentTarget: r,
						liveFired: d
					}), (s || o).apply(r, [i].concat(p.call(arguments, 1)))) : void 0
				}),
				a(d, e, o, i, n, l || s)
			}))
		},
		t.fn.off = function(e, n, i) {
			var o = this;
			return e && !g(e) ? (t.each(e,
			function(t, e) {
				o.off(t, n, e)
			}), o) : (g(n) || f(i) || i === !1 || (i = n, n = h), i === !1 && (i = S), o.each(function() {
				c(this, e, i, n)
			}))
		},
		t.fn.trigger = function(e, n) {
			return e = g(e) || t.isPlainObject(e) ? t.Event(e) : l(e),
			e._args = n,
			this.each(function() {
				e.type in w && "function" == typeof this[e.type] ? this[e.type]() : "dispatchEvent" in this ? this.dispatchEvent(e) : t(this).triggerHandler(e, n)
			})
		},
		t.fn.triggerHandler = function(e, i) {
			var o, r;
			return this.each(function(s, a) {
				o = u(g(e) ? t.Event(e) : e),
				o._args = i,
				o.target = a,
				t.each(n(a, e.type || e),
				function(t, e) {
					return r = e.proxy(o),
					o.isImmediatePropagationStopped() ? !1 : void 0
				})
			}),
			r
		},
		"focusin focusout focus blur load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(e) {
			t.fn[e] = function(t) {
				return 0 in arguments ? this.bind(e, t) : this.trigger(e)
			}
		}),
		t.Event = function(t, e) {
			g(t) || (e = t, t = e.type);
			var n = document.createEvent(v[t] || "Events"),
			i = !0;
			if (e) for (var o in e)"bubbles" == o ? i = !!e[o] : n[o] = e[o];
			return n.initEvent(t, i, !0),
			l(n)
		}
	} (n),
	function(t) {
		t.fn.serializeArray = function() {
			var e, n, i = [],
			o = function(t) {
				return t.forEach ? t.forEach(o) : void i.push({
					name: e,
					value: t
				})
			};
			return this[0] && t.each(this[0].elements,
			function(i, r) {
				n = r.type,
				e = r.name,
				e && "fieldset" != r.nodeName.toLowerCase() && !r.disabled && "submit" != n && "reset" != n && "button" != n && "file" != n && ("radio" != n && "checkbox" != n || r.checked) && o(t(r).val())
			}),
			i
		},
		t.fn.serialize = function() {
			var t = [];
			return this.serializeArray().forEach(function(e) {
				t.push(encodeURIComponent(e.name) + "=" + encodeURIComponent(e.value))
			}),
			t.join("&")
		},
		t.fn.submit = function(e) {
			if (0 in arguments) this.bind("submit", e);
			else if (this.length) {
				var n = t.Event("submit");
				this.eq(0).trigger(n),
				n.isDefaultPrevented() || this.get(0).submit()
			}
			return this
		}
	} (n),
	function(t, e) {
		function n(t) {
			return t.replace(/([a-z])([A-Z])/, "$1-$2").toLowerCase()
		}
		function i(t) {
			return o ? o + t: t.toLowerCase()
		}
		var o, r, s, a, c, l, u, h, d, p, f = "",
		g = {
			Webkit: "webkit",
			Moz: "",
			O: "o"
		},
		m = document.createElement("div"),
		v = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i,
		y = {};
		t.each(g,
		function(t, n) {
			return m.style[t + "TransitionProperty"] !== e ? (f = "-" + t.toLowerCase() + "-", o = n, !1) : void 0
		}),
		r = f + "transform",
		y[s = f + "transition-property"] = y[a = f + "transition-duration"] = y[l = f + "transition-delay"] = y[c = f + "transition-timing-function"] = y[u = f + "animation-name"] = y[h = f + "animation-duration"] = y[p = f + "animation-delay"] = y[d = f + "animation-timing-function"] = "",
		t.fx = {
			off: o === e && m.style.transitionProperty === e,
			speeds: {
				_default: 400,
				fast: 200,
				slow: 600
			},
			cssPrefix: f,
			transitionEnd: i("TransitionEnd"),
			animationEnd: i("AnimationEnd")
		},
		t.fn.animate = function(n, i, o, r, s) {
			return t.isFunction(i) && (r = i, o = e, i = e),
			t.isFunction(o) && (r = o, o = e),
			t.isPlainObject(i) && (o = i.easing, r = i.complete, s = i.delay, i = i.duration),
			i && (i = ("number" == typeof i ? i: t.fx.speeds[i] || t.fx.speeds._default) / 1e3),
			s && (s = parseFloat(s) / 1e3),
			this.anim(n, i, o, r, s)
		},
		t.fn.anim = function(i, o, f, g, m) {
			var w, x, b, S = {},
			T = "",
			C = this,
			k = t.fx.transitionEnd,
			E = !1;
			if (o === e && (o = t.fx.speeds._default / 1e3), m === e && (m = 0), t.fx.off && (o = 0), "string" == typeof i) S[u] = i,
			S[h] = o + "s",
			S[p] = m + "s",
			S[d] = f || "linear",
			k = t.fx.animationEnd;
			else {
				x = [];
				for (w in i) v.test(w) ? T += w + "(" + i[w] + ") ": (S[w] = i[w], x.push(n(w)));
				T && (S[r] = T, x.push(r)),
				o > 0 && "object" == typeof i && (S[s] = x.join(", "), S[a] = o + "s", S[l] = m + "s", S[c] = f || "linear")
			}
			return b = function(e) {
				if ("undefined" != typeof e) {
					if (e.target !== e.currentTarget) return;
					t(e.target).unbind(k, b)
				} else t(this).unbind(k, b);
				E = !0,
				t(this).css(y),
				g && g.call(this)
			},
			o > 0 && (this.bind(k, b), setTimeout(function() {
				E || b.call(C)
			},
			1e3 * (o + m) + 25)),
			this.size() && this.get(0).clientLeft,
			this.css(S),
			0 >= o && setTimeout(function() {
				C.each(function() {
					b.call(this)
				})
			},
			0),
			this
		},
		m = null
	} (n),
	function(t) {
		String.prototype.trim === t && (String.prototype.trim = function() {
			return this.replace(/^\s+|\s+$/g, "")
		}),
		Array.prototype.reduce === t && (Array.prototype.reduce = function(e) {
			if (void 0 === this || null === this) throw new TypeError;
			var n, i = Object(this),
			o = i.length >>> 0,
			r = 0;
			if ("function" != typeof e) throw new TypeError;
			if (0 == o && 1 == arguments.length) throw new TypeError;
			if (arguments.length >= 2) n = arguments[1];
			else for (;;) {
				if (r in i) {
					n = i[r++];
					break
				}
				if (++r >= o) throw new TypeError
			}
			for (; o > r;) r in i && (n = e.call(t, n, i[r], r, i)),
			r++;
			return n
		})
	} (),
	function(t) {
		function e(t, e, n, i) {
			return Math.abs(t - e) >= Math.abs(n - i) ? t - e > 0 ? "Left": "Right": n - i > 0 ? "Up": "Down"
		}
		function n() {
			u = null,
			d.last && (d.el.trigger("longTap"), d = {})
		}
		function i() {
			u && clearTimeout(u),
			u = null
		}
		function o() {
			a && clearTimeout(a),
			c && clearTimeout(c),
			l && clearTimeout(l),
			u && clearTimeout(u),
			a = c = l = u = null,
			d = {}
		}
		function r(t) {
			return ("touch" == t.pointerType || t.pointerType == t.MSPOINTER_TYPE_TOUCH) && t.isPrimary
		}
		function s(t, e) {
			return t.type == "pointer" + e || t.type.toLowerCase() == "mspointer" + e
		}
		var a, c, l, u, h, d = {},
		p = 750;
		t(document).ready(function() {
			var f, g, m, v, y = 0,
			w = 0;
			"MSGesture" in window && (h = new MSGesture, h.target = document.body),
			t(document).bind("MSGestureEnd",
			function(t) {
				var e = t.velocityX > 1 ? "Right": t.velocityX < -1 ? "Left": t.velocityY > 1 ? "Down": t.velocityY < -1 ? "Up": null;
				e && (d.el.trigger("swipe"), d.el.trigger("swipe" + e))
			}).on("touchstart MSPointerDown pointerdown",
			function(e) { (!(v = s(e, "down")) || r(e)) && (m = v ? e: e.touches[0], e.touches && 1 === e.touches.length && d.x2 && (d.x2 = void 0, d.y2 = void 0), f = Date.now(), g = f - (d.last || f), d.el = t("tagName" in m.target ? m.target: m.target.parentNode), a && clearTimeout(a), d.x1 = m.pageX, d.y1 = m.pageY, g > 0 && 250 >= g && (d.isDoubleTap = !0), d.last = f, u = setTimeout(n, p), h && v && h.addPointer(e.pointerId))
			}).on("touchmove MSPointerMove pointermove",
			function(t) { (!(v = s(t, "move")) || r(t)) && (m = v ? t: t.touches[0], i(), d.x2 = m.pageX, d.y2 = m.pageY, y += Math.abs(d.x1 - d.x2), w += Math.abs(d.y1 - d.y2))
			}).on("touchend MSPointerUp pointerup",
			function(n) { (!(v = s(n, "up")) || r(n)) && (i(), d.x2 && Math.abs(d.x1 - d.x2) > 30 || d.y2 && Math.abs(d.y1 - d.y2) > 30 ? l = setTimeout(function() {
					d.el.trigger("swipe"),
					d.el.trigger("swipe" + e(d.x1, d.x2, d.y1, d.y2)),
					d = {}
				},
				0) : "last" in d && (30 > y && 30 > w ? c = setTimeout(function() {
					var e = t.Event("tap");
					e.cancelTouch = o,
					d.el.trigger(e),
					d.isDoubleTap ? (d.el && d.el.trigger("doubleTap"), d = {}) : a = setTimeout(function() {
						a = null,
						d.el && d.el.trigger("singleTap"),
						d = {}
					},
					250)
				},
				0) : d = {}), y = w = 0)
			}).on("touchcancel MSPointerCancel pointercancel", o),
			t(window).on("scroll", o)
		}),
		["swipe", "swipeLeft", "swipeRight", "swipeUp", "swipeDown", "doubleTap", "tap", "singleTap", "longTap"].forEach(function(e) {
			t.fn[e] = function(t) {
				return this.on(e, t)
			}
		})
	} (n),
	t.exports = n
},
function(t, e) {
	function n(t) {
		return ! isNaN(parseFloat(t)) && isFinite(t)
	}
	function i(t, e) {
		if (t instanceof Array) return t.concat(e);
		var n, i = {};
		for (n in t) t.hasOwnProperty(n) && (i[n] = t[n]);
		for (n in e) e.hasOwnProperty(n) && (i[n] = e[n]);
		return i
	}
	function o(t, e) {
		for (var n in t) t.hasOwnProperty(n) && e(n, t[n])
	}
	var r = encodeURIComponent,
	s = decodeURIComponent,
	a = {
		createCookieString: function(t, e, i, o) {
			o = o || {};
			var s = r(t) + "=" + (i ? r(e) : e),
			a = o.expires,
			c = o.path || "/",
			l = o.domain || "nuomi.com";
			if ("object" == typeof o) {
				if (a instanceof Date) s += "; expires=" + a.toUTCString();
				else if (n(a)) {
					var u = new Date;
					u.setDate(u.getDate() + a),
					s += "; expires=" + u.toUTCString()
				}
				"string" == typeof c && "" !== c && (s += "; path=" + c),
				"string" == typeof l && "" !== l && (s += "; domain=" + l),
				o.secure === !0 && (s += "; secure")
			}
			return s
		},
		createCookieHashString: function(t) {
			if ("object" != typeof t) return "";
			var e = [];
			return o(t,
			function(t, n) {
				"function" != typeof n && "undefined" != typeof n && e.push(r(t) + "=" + r(String(n)))
			}),
			e.join("&")
		},
		parseCookieHash: function(t) {
			var e = t.split("&"),
			n = null,
			i = {};
			if (t.length) for (var o = 0,
			r = e.length; r > o; o++) n = e[o].split("="),
			i[s(n[0])] = s(n[1]);
			return i
		},
		parseCookieString: function(t, e, n) {
			var i = {};
			if ("string" == typeof t && t.length > 0) for (var o = e === !1 ?
			function(t) {
				return t
			}: s, r = t.split(/;\s/g), a = null, c = null, l = null, u = 0, h = r.length; h > u; u++) {
				if (l = r[u].match(/([^=]+)=/i), l instanceof Array) try {
					a = s(l[1]),
					c = o(r[u].substring(l[1].length + 1))
				} catch(d) {} else a = s(r[u]),
				c = "";
				"undefined" != typeof n && n.reverseCookieLoading ? "undefined" == typeof i[a] && (i[a] = c) : i[a] = c
			}
			return i
		},
		exists: function(t) {
			if ("string" != typeof t || "" === t) return ! 1;
			var e = this.parseCookieString(document.cookie, !0);
			return e.hasOwnProperty(t)
		},
		get: function(t, e) {
			var n, i, o;
			return "function" == typeof e ? (o = e, e = {}) : "object" == typeof e ? o = e.converter: e = {},
			n = this.parseCookieString(document.cookie, !e.raw, e),
			i = n[t],
			"undefined" == typeof i ? null: "function" == typeof o ? o(i) : i
		},
		getSub: function(t, e, n, i) {
			var o = this.getSubs(t, i);
			return null === o ? null: "string" != typeof e || "" === e ? null: "undefined" == typeof o[e] ? null: "function" == typeof n ? n(o[e]) : o[e]
		},
		getSubs: function(t, e) {
			var n = this.parseCookieString(document.cookie, !1, e);
			return "string" == typeof n[t] ? this.parseCookieHash(n[t]) : null
		},
		remove: function(t, e) {
			return "string" != typeof t || "" === t ? "": (e = i(e || {},
			{
				expires: new Date(0)
			}), this.set(t, "", e))
		},
		removeSub: function(t, e, n) {
			if ("string" != typeof t || "" === t) return "";
			if ("string" != typeof e || "" === e) return "";
			n = n || {};
			var i = this.getSubs(t);
			if ("object" == typeof i && i.hasOwnProperty(e)) {
				if (delete i[e], n.removeIfEmpty) {
					for (var o in i) if (i.hasOwnProperty(o) && "function" != typeof i[o] && "undefined" != typeof i[o]) return this.setSubs(t, i, n);
					return this.remove(t, n)
				}
				return this.setSubs(t, i, n)
			}
			return ""
		},
		set: function(t, e, n) {
			if ("string" != typeof t || "" === t) return null;
			if ("undefined" == typeof e) return null;
			n = n || {};
			var i = this.createCookieString(t, e, !n.raw, n);
			return document.cookie = i,
			i
		},
		setSub: function(t, e, n, i) {
			if ("string" != typeof t || "" === t) return "";
			if ("string" != typeof e || "" === e) return "";
			if ("undefined" == typeof n) return "";
			var o = this.getSubs(t);
			return o || (o = {}),
			o[e] = n,
			this.setSubs(t, o, i)
		},
		setSubs: function(t, e, n) {
			if ("string" != typeof t || "" === t) return "";
			if ("object" != typeof e) return "";
			var i = this.createCookieString(t, this.createCookieHashString(e), !1, n);
			return document.cookie = i,
			i
		},
		enabled: function() {
			return navigator.cookieEnabled
		},
		clear: function() {
			for (var t = document.cookie.split(";"), e = 0; e < t.length; e++) {
				var n = t[e],
				i = n.indexOf("="),
				o = i > -1 ? n.substr(0, i) : n;
				document.cookie = o + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT"
			}
		}
	};
	t.exports = a
},
function(t, e, n) {
	var i;
	i = function(t, e, n) {
		function i() {}
		function o(t, e, n) {
			var i = !0;
			if (t) {
				var o = 0,
				r = t.length,
				s = e[0],
				a = e[1],
				c = e[2];
				switch (e.length) {
				case 0:
					for (; r > o; o += 2) i = t[o].call(t[o + 1] || n) !== !1 && i;
					break;
				case 1:
					for (; r > o; o += 2) i = t[o].call(t[o + 1] || n, s) !== !1 && i;
					break;
				case 2:
					for (; r > o; o += 2) i = t[o].call(t[o + 1] || n, s, a) !== !1 && i;
					break;
				case 3:
					for (; r > o; o += 2) i = t[o].call(t[o + 1] || n, s, a, c) !== !1 && i;
					break;
				default:
					for (; r > o; o += 2) i = t[o].apply(t[o + 1] || n, e) !== !1 && i
				}
			}
			return i
		}
		var r = i.prototype,
		s = /\s+/;
		r._getEvents = function() {
			return this._events || (this._events = {}),
			this._events
		};
		var a = Object.keys ? Object.keys: function(t) {
			var e = [];
			for (var n in t) t.hasOwnProperty(n) && e.push(n);
			return e
		};
		r._getMaxListeners = function() {
			return isNaN(this.maxListeners) && (this.maxListeners = 10),
			this.maxListeners
		},
		r.on = function(t, e, n) {
			var i, o, r, a = this._getEvents(),
			c = this._getMaxListeners();
			if (!e) return this;
			for (t = t.split(s); o = t.shift();) {
				if (i = a[o] || (a[o] = []), r = i.length, r >= c && 0 !== c) throw new RangeError("Warning: possible Emitter memory leak detected. " + r + " listeners added.");
				i.push(e, n)
			}
			return this
		},
		r.once = function(t, e, n) {
			var i = this,
			o = function() {
				i.off(t, o),
				e.apply(n || i, arguments)
			};
			return this.on(t, o, n)
		},
		r.un = r.off = function(t, e, n) {
			var i, o, r, c = this._getEvents();
			if (!c) return this;
			if (0 === arguments.length) return delete this._events,
			this;
			for (t = t ? t.split(s) : a(c); i = t.shift();) if (r = c[i]) if (e || n) for (o = r.length - 2; o >= 0; o -= 2) e && r[o] !== e || n && r[o + 1] !== n || r.splice(o, 2);
			else delete c[i];
			return this
		},
		r.fire = r.emit = function(t) {
			var e, n, i, r, a, c, l = [],
			u = !0;
			if (! (e = this._events)) return this;
			for (t = t.split(s), c = 1, r = arguments.length; r > c; c++) l[c - 1] = arguments[c];
			for (; n = t.shift();)(i = e.all) && (i = i.slice()),
			(a = e[n]) && (a = a.slice()),
			"all" !== n && (u = o(a, l, this) && u),
			u = o(i, [n].concat(l), this) && u;
			return u
		},
		i.mixTo = function(t) {
			for (var e in i.prototype) t[e] = i.prototype[e];
			return t
		},
		n.exports = i
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e, n) {
	"use strict";
	function i() {
		return + new Date + "_" + (Math.random() + "").replace(/^0./, "")
	}
	function o(t) {
		try {
			var e = {};
			p.each({
				_: i(),
				target: "sidlog",
				tip: "小流量日志",
				type: "error",
				log: ""
			},
			function(t, n) {
				e["fe_" + t] = n
			}),
			"string" == typeof t ? e.log = t: p.extend(e, t),
			document.createElement("img").src = h.uri + "?" + p.serialize(e),
			void 0 !== typeof console && console && console.info && console.info(e)
		} catch(n) {
			void 0 !== typeof console && console && console.info && console.info("小流量日志: log error")
		}
	}
	function r() {
		g || (f.init(), o({
			type: "warn",
			log: "use before init"
		}))
	}
	function s(t) {
		var e = {
			uri: "sample.log.nuomi.com/t.gif",
			container: document.body,
			selector: "a[mon]",
			attr: "mon"
		};
		return t && p.extend(e, t),
		e.uri = location.protocol + "//" + e.uri,
		e
	}
	function a() {
		var t = {
			common: {},
			pv: {},
			click: {}
		},
		e = t.common;
		return p.each(["channel", "BAIDUID", "SID", "access_log"],
		function(t, n) {
			var i = p.getRawCookie(n);
			null != i && (e[n.toLowerCase()] = i)
		}),
		t
	}
	function c(t) {
		var e = document.referrer,
		n = e ? "&" + p.serialize({
			refer: e
		}) : "",
		o = h.uri + "?" + p.serialize(t) + "&__=" + i(),
		r = function(t) {
			document.createElement("img").src = o + (e && t ? "&" + p.serialize({
				refer: e.match(/^(.*?)(?=#|\?|$)/)[0],
				js_cut: 1
			}) : n)
		};
		try {
			r()
		} catch(s) {
			r(!0)
		}
	}
	function l() {
		return {
			uuid: i(),
			set: function(t, e) {
				try {
					r(),
					p.extend(d[e && e.action_type || "common"], t)
				} catch(n) {
					o("call member `set` error")
				}
			},
			send: function(t, e) {
				try {
					r(),
					e = e || {};
					var n = e.action_type || t.action_type || d.common.action_type;
					switch (n) {
					case "pv":
						break;
					case "click":
						break;
					default:
						return void o("send without action_type")
					}
					c(p.extend({},
					d.common, d[n], t, {
						action_type: n
					}))
				} catch(i) {
					o("call member `send` error")
				}
			},
			dispose: function() {}
		}
	}
	var u, h, d, p = n(51),
	f = {},
	g = !1;
	f.init = function(t) {
		try {
			if (g) return;
			g = !0,
			t = t || {},
			u = t.$ || window.$,
			h = s(t),
			d = a(),
			p.extend(f, l())
		} catch(e) {
			o("call member `init` error")
		}
	},
	t.exports = f
},
function(t, e) {
	"use strict";
	var n = {
		each: function(t, e) {
			var n = Object.prototype;
			if ("[object Array]" === n.toString.call(t)) {
				for (var i = t.length,
				o = 0; i > o; o++) if (e(o, t[o]) === !1) return
			} else if (t) for (var r in t) if (n.hasOwnProperty.call(t, r) && e(r, t[r]) === !1) return
		},
		extend: function(t) {
			function e(e, n) {
				t[e] = n
			}
			for (var i = arguments.length,
			o = 1; i > o; o++) n.each(arguments[o], e);
			return t
		},
		escapeReg: function(t) {
		return t.replace(/([-.*+?^$=!:{}()|[\]/\\])/g,"\\$1")},
		encode: encodeURIComponent, decode: function(t) {
			t += "";
			try {
				return decodeURIComponent(t.replace(/\+/g, " "))
			} catch(e) {
				return t
			}
		},
		serialize: function(t, e) {
			e = e || n.encode;
			var i = [];
			return n.each(t,
			function(t, n) {
				null != n && i.push(e(t) + "=" + e(n))
			}),
			i.join("&")
		},
		query2obj: function(t, e) {
			e = e || n.decode;
			var i = {};
			return "string" != typeof t ? t || i: (t = t.replace(/^&|^\?/, ""), n.each(t ? t.split("&") : [],
			function(t, n) {
				n = n.split("="),
				i[e(n[0])] = e(n[1])
			}), i)
		},
		getRawCookie: function(t) {
			return new RegExp("(?:^|; )" + n.escapeReg(t) + "=(.*?)(?:; |$)").test(document.cookie || "") && "string" == typeof RegExp.$1 ? RegExp.$1: void 0
		}
	}; t.exports = n
},
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		var o = n(47),
		r = n(45);
		e.init = function() {
			navigator && navigator.standalone && o(document).on("click", "a",
			function(t) {
				t.preventDefault();
				var e = o(t.currentTarget).attr("href");
				/^javascript\:/.test(e) || r.location(e)
			})
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		var o = n(48);
		e.init = function() {
			1 === parseInt(o.get("loginMapApp"), 10) && (location.href = "bdapi://wappass_login.sync")
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		var o = n(47),
		r = n(48),
		s = function(t, e) {
			o.ajax({
				url: "http://m.nuomi.baidu.com/webapp/user/crossdomainsync",
				data: {
					ac: t
				},
				dataType: "jsonp",
				success: function(t) {
					e(t.errno, t.data)
				}
			})
		};
		e.init = function() {
			s(1,
			function(t, e) {
				n(55).syncUserInfo(!0)
			}),
			s(2,
			function(t, e) {
				t || r.set("BAIDUID", e.baiduid, {
					raw: 1,
					expires: 2592e3
				})
			})
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		n(56);
		var o = n(47),
		r = n(43),
		s = n(58),
		a = s.getInfoLoader(62),
		c = o("#footer"),
		l = function() {
			var t = c.find('[data-role="info-block"]');
			if (t.length) {
				var e = window.location.href; ['[data-role="city-link"]', '[data-role="login-link"]', '[data-role="register-link"]'].forEach(function(n) {
					var i = t.find(n);
					i.attr("href", i.attr("href") + encodeURIComponent(e))
				})
			}
		},
		u = function(t) {
			var e = c.find('[data-role="info-block"]');
			if (e.length) {
				var n = e.find('[data-role="login-block"]'),
				i = e.find('[data-role="user-block"]'),
				o = e.find('[data-role="ticket"]'),
				r = e.find('[data-role="unpaid"]');
				a = t ? s.getInfoLoader(62, !0) : a,
				a.get(["user", "unusedOrders", "unpaidInfo"],
				function(t, e, s) {
					if (!t) return i.hide(),
					void n.show();
					n.hide(),
					i.show();
					var a = e && e.total || 0,
					c = s && s.unpayCount || 0;
					o.text("代金券(" + a + ")"),
					r.text("待付款(" + c + ")")
				})
			}
		},
		h = function(t) {
			c.length && (t = r.extend({},
			t), l(), u())
		};
		i.exports = {
			init: h,
			syncUserInfo: u
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e) {},
,
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		var o = n(47),
		r = n(59),
		s = function(t, e) {
			o.ajax({
				url: "/webapp/user/asyncuserinfo?" + Date.now(),
				type: "post",
				data: {
					ac: t
				},
				dataType: "json",
				success: function(t) {
					e && e(null, t)
				},
				error: e
			})
		},
		a = {},
		c = function(t, e) {
			return ! e && a[t] ? a[t] : a[t] = new r(s.bind(null, t))
		};
		i.exports = {
			getInfo: s,
			getInfoLoader: c
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e, n) {
	var i;
	i = function(t, e, n) {
		function i(t) {
			this._load = t,
			this.status = i.STATUS.WAITING,
			this.saved = null,
			this.waitings = [],
			this.params = {}
		}
		var o = function(t, e, n) {
			t.apply(null, e.map(function(t) {
				return n[t]
			}))
		};
		i.STATUS = {
			WAITING: 0,
			LOADING: 1,
			SUCCESS: 2,
			FAILED: 3
		},
		i.prototype.resolve = function(t) {
			this.waitings.forEach(function(e) {
				o(e.fn, e.args, t)
			}),
			this.saved = t
		},
		i.prototype.param = function(t) {
			for (var e in t) t.hasOwnProperty(e) && (this.params[e] = t[e]);
			return this.params
		},
		i.prototype.load = function() {
			var t = this;
			t.status !== i.STATUS.LOADING && (t.status = i.STATUS.LOADING, t._load(function(e, n) {
				e ? (t.status = i.STATUS.FAILED, console.error(e)) : (t.status = i.STATUS.SUCCESS, t.resolve(n))
			}))
		},
		i.prototype.get = function(t, e) {
			this.status === i.STATUS.WAITING && this.load();
			var n = "[object Array]" === Object.prototype.toString.call(t) ? t: [t];
			this.status === i.STATUS.LOADING && this.waitings.push({
				fn: e,
				args: n
			}),
			this.status === i.STATUS.SUCCESS && o(e, n, this.saved)
		},
		n.exports = i
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		function o(t, e) {
			e = e || {};
			for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]);
			return t
		}
		function r(t, e) {
			return t.replace(/\$\{([^\{\}]*)\}/g,
			function(t, n) {
				var i = e[n.trim()];
				return null == i ? "": i + ""
			})
		}
		function s(t, e) {
			if (t += (t.indexOf("?") >= 0 ? "&": "?") + "mcmdf=inapp_baidunuomi", t.indexOf("callback=") < 0) {
				var n = "_cbk" + Math.floor(1e4 * Math.random());
				window[n] = e,
				t += "&callback=" + n
			}
			var i = document.createElement("script");
			i.src = t,
			i.addEventListener("load",
			function(t) {
				var e = t.target;
				e.parentNode.removeChild(e),
				delete window[n]
			},
			!1),
			document.getElementsByTagName("head")[0].appendChild(i)
		}
		function a(t, e, n) {
			var i = !1,
			o = function() {
				return i ? void 0 : (i = !0, t.apply(this, arguments))
			};
			return setTimeout(function() {
				o(n || new Error("TIME_OUT"))
			},
			e),
			o
		}
		function c(t, e, n) {
			if (t.x = t.x && parseFloat(t.x), t.y = t.y && parseFloat(t.y), t.longitude = t.longitude && parseFloat(t.longitude), t.latitude = t.latitude && parseFloat(t.latitude), void 0 === t.x || void 0 === t.y) {
				var i = p.lngLatToPixel(t.longitude, t.latitude, 18);
				t.x = i[0],
				t.y = i[1]
			} else if (void 0 === t.longitude || void 0 === t.latitude) {
				var o = p.pixelToLngLat(t.x, t.y, 18);
				t.longitude = o[0],
				t.latitude = o[1]
			}
			this.coords = t,
			this.timestamp = e,
			this.addressComponent = n || {
				city: "",
				district: "",
				street: ""
			},
			this.address = this.addressComponent.city + this.addressComponent.district + this.addressComponent.street
		}
		function l(t, e) {
			var n = "_callback" + (Math.random() + "").slice(2);
			window.baidu = window.baidu || {},
			window.baidu[n] = function(n) {
				o(t.coords, {
					x: n.point.x,
					y: n.point.y
				});
				var i = n.addr;
				o(t.addressComponent, {
					city: i.city,
					cityCode: i.city_code,
					district: i.district,
					street: i.street
				}),
				t.address = i.city + i.district + i.street,
				e(null, t)
			};
			var i = r("http://loc.map.baidu.com/wloc?x=${x}&y=${y}&r=41&prod=geoapi&addr=city|district|street|city_code&fn=${fn}&t=${t}", {
				x: t.coords.longitude,
				y: t.coords.latitude,
				fn: n,
				t: Date.now()
			});
			s(i)
		}
		function u(t) {
			return f.get(t)
		}
		function h(t, e, n) {
			f.set(t, e, n)
		}
		function d(t) {
			var e = t.addressComponent,
			n = t.address,
			i = t.coords;
			return {
				crd: i.x + "_" + i.y + "_" + i.longitude + "_" + i.latitude + "_" + i.accuracy,
				cc: e.cityCode,
				addr: n,
				tp: "gl",
				city: e.city,
				district: e.district,
				street: e.street,
				t: t.timestamp
			}
		}
		var p = n(61),
		f = n(48),
		g = n(45),
		m = n(39),
		v = n(62),
		y = {
			getPosition: function(t) {
				var e = this,
				n = function(n) {
					n && 0 === parseInt(n.error, 10) ? e.requestPosition(t) : t({
						code: -2
					})
				};
				n = a(n, 2e3, {
					code: 6
				}),
				s("http://127.0.0.1:6259/getapn?", n)
			},
			requestPosition: function(t) {
				var e = function(e) {
					if (e && 0 === parseInt(e.error, 10)) {
						var n = [e.coords.longitude, e.coords.latitude],
						i = e.coords.accuracy,
						o = p.pixelToLngLat(n[0], n[1], 18),
						r = new c({
							x: n[0],
							y: n[1],
							accuracy: i,
							longitude: o[0],
							latitude: o[1]
						},
						Date.now());
						t(null, {
							position: r
						})
					} else t(e && e.error > 0 ? {
						code: e.error
					}: {
						code: -1
					})
				};
				e = a(e, 1e4, {
					code: 3
				}),
				s("http://127.0.0.1:6259/geolocation?timeout=10000", e)
			}
		},
		w = {
			CODE_NOT_SUPPORTED: -2,
			CODE_UNKNOWN: -1,
			CODE_PERMISSION_DENIED: 1,
			CODE_UNAVAILABLE: 2,
			CODE_TIMEOUT: 3,
			getPosition: function(t) {
				var e = this;
				return window.clouda && window.clouda.device && window.clouda.device.geolocation ? void window.clouda.device.geolocation.get({
					onsuccess: function(e) {
						var n = {
							position: {
								coords: e,
								timestamp: +new Date
							}
						};
						t(null, n)
					},
					onfail: function(e) {
						t({
							code: e
						})
					}
				}) : void t({
					code: e.CODE_NOT_SUPPORTED
				})
			}
		},
		x = {
			config: {
				path: "/",
				webCookieKey: "H_LOC_MI",
				nativeCookieKey: "H_LOC_APP",
				expires: 18e5
			},
			getPosition: function(t, e) {
				t = parseInt(t, 10);
				var n = u(this.config.nativeCookieKey) || u(this.config.webCookieKey);
				if (!n) return void e({
					code: 1
				});
				try {
					n = JSON.parse(n)
				} catch(i) {
					return void e({
						code: 1
					})
				}
				var o = n.crd &&
				function(t) {
					return t = n.crd.split("_"),
					t.length > 4 && {
						x: t[0],
						y: t[1],
						longitude: t[2],
						latitude: t[3],
						accuracy: t[4]
					}
				} (n.crd);
				if (!o) return void e({
					code: 1
				});
				var r = new c(o, parseInt(n.t, 10), {
					city: n.city,
					district: n.district,
					street: n.street,
					cityCode: n.cc
				});
				r.coords.x && r.timestamp + 6e4 * t > Date.now() ? e(null, {
					position: r
				}) : e({
					code: 2
				})
			},
			setPosition: function(t) {
				t = d(t),
				t = JSON.stringify(t),
				h(this.config.webCookieKey, t, {
					path: this.config.path,
					expires: new Date(Date.now() + this.config.expires)
				})
			}
		},
		b = {
			getPosition: function(t, e) {
				if (!navigator.geolocation) return void e({
					code: 4
				});
				t = t || {};
				var n = {
					timeout: t.timeout,
					enableHighAccuracy: t.enableHighAccuracy,
					maximumAge: t.maximumAge
				};
				navigator.geolocation.getCurrentPosition(function(t) {
					e(null, {
						position: t
					})
				},
				e, n)
			}
		},
		S = {
			alipay: function(t, e) {
				window.Ali && window.Ali.alipayVersion && window.Ali.alipayVersion.slice(0, 3) >= 8.1 ? window.Ali.geolocation.getCurrentPosition({
					timeout: 5e3
				},
				function(t) {
					t.errorCode ? e(t.errorCode) : e(null, {
						position: new c(t.coords, Date.now())
					})
				}) : e("not in alipay")
			},
			"url-1": function(t, e) {
				try {
					var n = m.parse(),
					i = n.locMC.split("|").map(parseFloat),
					o = p.pixelToLngLat(i[0], i[1], 18)
				} catch(r) {
					return void e(r)
				}
				e(null, {
					position: new c({
						x: i[0],
						y: i[1],
						longitude: o[0],
						latitude: o[1]
					},
					Date.now())
				})
			},
			"url-2": function(t, e) {
				try {
					var n = m.parse(),
					i = JSON.parse(n.bdboxinfo),
					o = i.ofniw.split("_").slice(0, 2).map(parseFloat),
					r = p.pixelToLngLat(o[0], o[1], 18)
				} catch(s) {
					return void e(s)
				}
				e(null, {
					position: new c({
						x: o[0],
						y: o[1],
						longitude: r[0],
						latitude: r[1]
					},
					Date.now())
				})
			},
			"cookie-5": function(t, e) {
				x.getPosition(5, e)
			},
			"cookie-30": function(t, e) {
				x.getPosition(30, e)
			},
			"light-app": function(t, e) {
				w.getPosition(function(t, n) {
					return t ? void e(t) : void e(t, {
						position: new c(n.position.coords, n.position.timestamp)
					})
				})
			},
			"native": function(t, e) {
				y.getPosition(e)
			},
			html5: function(t, e) {
				b.getPosition(t,
				function(t, n) {
					return t ? void e(t) : void e(t, {
						position: new c(n.position.coords, n.position.timestamp)
					})
				})
			},
			mobileBaiduClient: function(t, e) {
				var n = document.body,
				i = "cb" + (Math.random() + "").slice(2),
				o = document.createElement("iframe");
				window[i] = function(t) {
					t = JSON.parse(t),
					e(null, {
						position: new c(t.coords, +new Date)
					}),
					delete window[i],
					n.removeChild(o)
				};
				try {
					o.src = "baiduboxapp://utils?action=getCurrentLocation&func=" + i + "&minver=6.0.0.0",
					o.width = "0",
					o.height = "0",
					o.style = "visibility:hidden;display:none;",
					n.appendChild(o)
				} catch(r) {
					e(r)
				}
			},
			"bainuo-na-bridge": function(t, e) {
				var n = window.BNJS.location;
				return n.hasLocation ? void e(null, {
					position: new c({
						longitude: n.longitude,
						latitude: n.latitude
					},
					Date.now())
				}) : void e("No location info")
			}
		},
		T = function(t) {
			var e = u("channel_webapp"),
			n = e && (0 === e.indexOf("baiduboxapp") || 0 === e.indexOf("kuangfaxian") || 0 === e.indexOf("wise_m_gtuangou")),
			i = e && 0 === e.indexOf("fr_na"),
			o = navigator.userAgent.indexOf("Android") > -1,
			r = navigator.userAgent.match(/i(Phone|Pod|Pad)/i),
			s = n && !o || i,
			a = function(t) {
				return s || t.push("html5"),
				/android/i.test(navigator.userAgent) && t.push("native"),
				v.isAlipay() && t.push("alipay"),
				n && r && t.push("mobileBaiduClient"),
				t
			} (["light-app"]),
			c = function(e) {
				t.cookieFirst ? e.unshift("cookie-5") : e.push("cookie-5"),
				window.BNJS && e.unshift("bainuo-na-bridge");
				var n = m.parse();
				return n.locMC && e.unshift("url-1"),
				n.bdboxinfo,
				t.usePositionIn30Min && e.push("cookie-30"),
				!s && t.retry && e.push("html5"),
				e
			} ([a]);
			return c
		},
		C = function(t, e, n) {
			var i = Date.now(),
			r = {
				enableHighAccuracy: !1,
				timeout: 3e4,
				maximumAge: 1e4,
				retry: !0,
				cookieFirst: !0,
				usePositionIn30Min: !0,
				needAddress: !0
			};
			r = o(r, n);
			var s = T(r),
			a = {},
			c = !1,
			u = function(e, n) {
				n.indexOf("cookie") < 0 && x.setPosition(e),
				t && t(e, n)
			},
			h = function(t) {
				e && e(t)
			},
			d = function(t, e, n) {
				if (c = !0, g.send({
					action: "locate",
					type: t ? "success": "failure",
					reason: n,
					code: Object.keys(a).map(function(t) {
						return t + ":" + (a[t] && a[t].code)
					}).join(","),
					time: Date.now() - i
				}), t) {
					var o = e.position;
					r.needAddress && !o.address ? l(o,
					function(t, e) {
						t ? (a.getAddress = t, h(a)) : u(e, n)
					}) : u(o, n)
				} else h(a)
			},
			p = function(t) {
				t = t || 0;
				var e = s[t];
				e = "[object Array]" === Object.prototype.toString.call(e) ? e: [e];
				var n = e.length,
				i = function(e, i, o) {
					if (!c) if (e) {
						if (a[o] = e, --n) return;
						s[++t] ? p(t) : d(!1, a, o)
					} else d(!0, i, o)
				};
				e.forEach(function(t) {
					S[t](r,
					function(e, n) {
						i(e, n, t)
					})
				})
			};
			p()
		},
		k = function(t) {
			x.setPosition(t.position)
		};
		window.geolocation = {
			getCurrentPosition: C,
			setCookiePosition: k
		},
		i.exports = {
			getPosition: function(t, e) {
				return e = e ||
				function() {},
				C(function(t, n) {
					e(null, t, n)
				},
				e, t)
			},
			setCookiePosition: k,
			getAddressInfo: function(t, e) {
				l(new c(t, Date.now()),
				function(t, n) {
					return t ? void e(t) : void e(null, n.addressComponent)
				})
			}
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e, n) {
	var i;
	i = function(t, e, n) {
		function i(t, e, n) {
			return s([t / Math.pow(2, n - 18), e / Math.pow(2, n - 18)])
		}
		function o(t, e, n) {
			var i = r([t, e]),
			o = i[0] * Math.pow(2, n - 18),
			s = i[1] * Math.pow(2, n - 18);
			return [Math.ceil(o), Math.ceil(s)]
		}
		function r(t) {
			t[0] = l(t[0], -180, 180),
			t[1] = c(t[1], -74, 74);
			for (var e, n = t.slice(0), i = 0; i < h.length; i++) if (n[1] >= h[i]) {
				e = p[i];
				break
			}
			if (!e) for (i = h.length - 1; i >= 0; i--) if (n[1] <= -h[i]) {
				e = p[i];
				break
			}
			var o = a(t, e);
			return t = [o[0].toFixed(2), o[1].toFixed(2)]
		}
		function s(t) {
			for (var e, n = [Math.abs(t[0]), Math.abs(t[1])], i = 0; i < u.length; i++) if (n[1] >= u[i]) {
				e = d[i];
				break
			}
			var o = a(t, e);
			return t = [o[0].toFixed(6), o[1].toFixed(6)]
		}
		function a(t, e) {
			if (t && e) {
				var n = e[0] + e[1] * Math.abs(t[0]),
				i = Math.abs(t[1]) / e[9],
				o = e[2] + e[3] * i + e[4] * i * i + e[5] * i * i * i + e[6] * i * i * i * i + e[7] * i * i * i * i * i + e[8] * i * i * i * i * i * i;
				return n *= t[0] < 0 ? -1 : 1,
				o *= t[1] < 0 ? -1 : 1,
				[n, o]
			}
		}
		function c(t, e, n) {
			return null != e && (t = Math.max(t, e)),
			null != n && (t = Math.min(t, n)),
			t
		}
		function l(t, e, n) {
			for (; t > n;) t -= n - e;
			for (; e > t;) t += n - e;
			return t
		}
		var u = [12890594.86, 8362377.87, 5591021, 3481989.83, 1678043.12, 0],
		h = [75, 60, 45, 30, 15, 0],
		d = [[1.410526172116255e-8, 898305509648872e-20, -1.9939833816331, 200.9824383106796, -187.2403703815547, 91.6087516669843, -23.38765649603339, 2.57121317296198, -.03801003308653, 17337981.2], [ - 7.435856389565537e-9, 8983055097726239e-21, -.78625201886289, 96.32687599759846, -1.85204757529826, -59.36935905485877, 47.40033549296737, -16.50741931063887, 2.28786674699375, 10260144.86], [ - 3.030883460898826e-8, 898305509983578e-20, .30071316287616, 59.74293618442277, 7.357984074871, -25.38371002664745, 13.45380521110908, -3.29883767235584, .32710905363475, 6856817.37], [ - 1.981981304930552e-8, 8983055099779535e-21, .03278182852591, 40.31678527705744, .65659298677277, -4.44255534477492, .85341911805263, .12923347998204, -.04625736007561, 4482777.06], [3.09191371068437e-9, 8983055096812155e-21, 6995724062e-14, 23.10934304144901, -.00023663490511, -.6321817810242, -.00663494467273, .03430082397953, -.00466043876332, 2555164.4], [2.890871144776878e-9, 8983055095805407e-21, -3.068298e-8, 7.47137025468032, -353937994e-14, -.02145144861037, -1234426596e-14, .00010322952773, -323890364e-14, 826088.5]],
		p = [[ - .0015702102444, 111320.7020616939, 0x60e374c3105a3, -0x24bb4115e2e164, 0x5cc55543bb0ae8, -0x7ce070193f3784, 0x5e7ca61ddf8150, -0x261a578d8b24d0, 0x665d60f3742ca, 82.5], [.0008277824516172526, 111320.7020463578, 647795574.6671607, -4082003173.641316, 10774905663.51142, -15171875531.51559, 12053065338.62167, -5124939663.577472, 913311935.9512032, 67.5], [.00337398766765, 111320.7020202162, 4481351.045890365, -23393751.19931662, 79682215.47186455, -115964993.2797253, 97236711.15602145, -43661946.33752821, 8477230.501135234, 52.5], [.00220636496208, 111320.7020209128, 51751.86112841131, 3796837.749470245, 992013.7397791013, -1221952.21711287, 1340652.697009075, -620943.6990984312, 144416.9293806241, 37.5], [ - .0003441963504368392, 111320.7020576856, 278.2353980772752, 2485758.690035394, 6070.750963243378, 54821.18345352118, 9540.606633304236, -2710.55326746645, 1405.483844121726, 22.5], [ - .0003218135878613132, 111320.7020701615, .00369383431289, 823725.6402795718, .46104986909093, 2351.343141331292, 1.58060784298199, 8.77738589078284, .37238884252424, 7.45]];
		n.exports = {
			pixelToLngLat: i,
			lngLatToPixel: o
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		var o = n(48),
		r = function() {
			var t = navigator.userAgent;
			if (t && t.indexOf("AlipayClient") >= 0) return ! 0;
			var e = o.get("channel");
			if (e) {
				var n = e.indexOf("||"),
				i = e.substr(0, n);
				return "sns_zhifubao_wap" === i
			}
			return ! 1
		},
		s = function() {
			return "baiduwiseqyy" === o.get("channel_webapp")
		};
		i.exports = {
			isAlipay: r,
			isZhidahao: s
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		n(64);
		var o = n(47),
		r = n(49),
		s = function(t) {
			var e = /^(?:[\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/.exec(t);
			return e ? e[1] : ""
		},
		a = function(t, e) {
			return t === e ? !0 : t && t.slice( - (e.length + 1)) === "." + e
		},
		c = function() {
			if (!document.referrer) return ! 1;
			var t = s(document.referrer),
			e = ["t10.nuomi.com", "t10sc.nuomi.com", "huodong.static.nuomi.com", "m.dianying.baidu.com"];
			return F.context("is-dayuecheng") ? !0 : e.indexOf(t) >= 0 || a(t, document.domain) || !F.context("back-optimize")
		},
		l = {
			init: function() {
				var t = o("#header");
				if (t.length) {
					var e = this;
					t.find('[data-role="extra-op"]').on("tap",
					function() {
						e.fire("extra-op")
					});
					var n = c() ?
					function() {
						window.history.back()
					}: function() {
						location.href = "/"
					};
					t.find('[data-role="back"]').on("tap", n),
					F.context("is-dayuecheng") && (t.find('[data-role="home-link"]').hide(), t.find('[data-role="search"]').hide())
				}
			}
		};
		r.mixTo(l),
		i.exports = l
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e) {},
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		var o = n(83),
		r = function(t, e) {
			var n = 0,
			i = window.innerHeight,
			o = t.getBoundingClientRect(),
			r = o.top - e,
			s = o.top + Math.round(o.height) + e;
			return r >= n && i >= r || s >= n && i >= s || n >= r && s >= i
		},
		s = function(t, e) {
			t.lazyload = "loading",
			t.setAttribute("src", e),
			t.style.cssText += "visibility: hidden;",
			t.onload = function() {
				t.lazyload = "loaded",
				t.style.cssText += "visibility: visible;"
			},
			t.onerror = function() {}
		},
		a = function(t, e) {
			var n, i = e.threshold || 0,
			a = "data-" + (e.dataAttribute || "src"),
			c = e.supportAsync || !1,
			l = e.context || document.body;
			c || (n = l.querySelectorAll(t));
			var u = function() {
				c && (n = l.querySelectorAll(t));
				for (var e, o = 0,
				u = n.length; u > o; o++) e = n[o],
				!e.lazyload && e.hasAttribute(a) && r(e, i) && s(e, e.getAttribute(a))
			};
			o.add(u),
			document.addEventListener("DOMContentLoaded", u),
			window.addEventListener("orientationchange", u),
			u()
		},
		c = function(t, e, n) {
			var i, s = e.threshold || 0,
			a = e.supportAsync || !1,
			c = e.context || document.body;
			a || (i = c.querySelectorAll(t));
			var l = function() {
				a && (i = c.querySelectorAll(t));
				for (var e, o = 0,
				l = i.length; l > o; o++) e = i[o],
				!e.inView && r(e, s) && (e.inView = !0, n.call(e, !0)),
				e.inView && !r(e, s) && (e.inView = !1, n.call(e, !1))
			};
			o.add(l),
			document.addEventListener("DOMContentLoaded", l),
			window.addEventListener("orientationchange", l),
			l()
		};
		i.exports = {
			init: a,
			register: c
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e, n) {
	var i;
	i = function(t, e, n) {
		var i, o, r = 50,
		s = [],
		a = !1,
		c = 0,
		l = function(t) {
			o = t;
			var e = window.pageYOffset;
			o.offset = e - c,
			c = e
		},
		u = function() {
			o && (s.forEach(function(t) {
				t(o)
			}), o = null)
		},
		h = function() {
			a = !0,
			window.addEventListener("scroll", l),
			i = setInterval(u, r)
		},
		d = function() {
			a = !1,
			o = null,
			window.removeEventListener("scroll", l),
			i = clearInterval(i)
		},
		p = function(t) {
			a || h(),
			s.push(t)
		},
		f = function(t) {
			var e = [];
			s.forEach(function(n) {
				n !== t && e.push(n)
			}),
			s = e,
			s.length || d()
		};
		n.exports = {
			add: p,
			remove: f
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		var o = (n(47), n(48)),
		r = n(85),
		s = function(t) {
			if ("[object Object]" === Object.prototype.toString.call(t)) return t;
			for (var e = t.split("&"), n = {},
			i = 0; i < e.length; i++) {
				var o = e[i].split("=");
				n[o[0]] = o[1]
			}
			return n
		},
		a = {
			options: {
				key: "bn_na_ctag",
				maxLength: 5
			},
			get: function() {
				return this.tagValue
			},
			update: function(t) {
				t.t = Date.now();
				var e = this.options.key;
				try {
					var n = o.get(e, {
						raw: !0
					});
					this.tagArr = n ? JSON.parse(r.decode(n).replace(/\0+$/, "")) : []
				} catch(i) {
					console.log("Parse ctag error:", i),
					this.tagArr = []
				}
				this.tagArr.push(s(t)),
				this.tagArr.length > this.options.maxLength && this.tagArr.shift(),
				this.tagValue = r.encode(JSON.stringify(this.tagArr)),
				o.set(e, this.tagValue, {
					raw: !0
				})
			},
			destory: function() {
				o.remove(this.key)
			}
		};
		i.exports = a
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e) {
	var n = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
	i = {
		encode: function(t, e) {
			t = e ? this.utf8encode(t) : t;
			for (var i = 0,
			o = ""; i < t.length;) {
				var r = t.charCodeAt(i++),
				s = t.charCodeAt(i++),
				a = t.charCodeAt(i++),
				c = r >> 2,
				l = (3 & r) << 4 | s >> 4,
				u = isNaN(s) ? 64 : (15 & s) << 2 | a >> 6,
				h = isNaN(a) ? 64 : 63 & a;
				o += "" + n.charAt(c) + n.charAt(l) + n.charAt(u) + n.charAt(h)
			}
			return o
		},
		decode: function(t, e) {
			var i = "";
			return t = t.replace(/[^a-zA-Z0-9\+\/\=]/g, ""),
			t.replace(/[a-zA-Z0-9\+\/\=]{4}/g,
			function(t) {
				var e = n.indexOf(t.charAt(0)),
				o = n.indexOf(t.charAt(1)),
				r = n.indexOf(t.charAt(2)),
				s = n.indexOf(t.charAt(3)),
				a = e << 2 | o >> 4,
				c = 64 === r ? "": (15 & o) << 4 | r >> 2,
				l = 64 === s ? "": (3 & r) << 6 | s;
				i += String.fromCharCode(a, c, l)
			}),
			e ? this.utf8decode(i) : i
		},
		utf8encode: function(t) {
			return t.replace(/[\u0080-\u07ff]/g,
			function(t) {
				var e = t.charCodeAt(0);
				return String.fromCharCode(192 | e >> 6, 128 | 63 & e)
			}).replace(/[\u0800-\uffff]/g,
			function(t) {
				var e = t.charCodeAt(0);
				return String.fromCharCode(224 | e >> 12, 128 | e >> 6 & 63, 128 | 63 & e)
			})
		},
		utf8decode: function(t) {
			for (var e = "",
			n = 0,
			i = t.length; i > n; n++) {
				var o = t.charCodeAt(n);
				if (128 > o) e += String.fromCharCode(o),
				n++;
				else if (o > 191 && 224 > o) {
					var r = t.charCodeAt(++n);
					e += String.fromCharCode((31 & o) << 6 | 63 & r)
				} else {
					r = t.charCodeAt(++n);
					var s = t.charCodeAt(++n);
					e += String.fromCharCode((15 & o) << 12 | (63 & r) << 6 | 63 & s)
				}
			}
			return e
		}
	};
	t.exports = i
},
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		n(87);
		var o = n(47),
		r = n(43),
		s = n(89),
		a = n(99);
		e.create = function(t, e) {
			t = "string" == typeof t ? {
				text: t
			}: t,
			t = r.extend({
				mask: !1,
				text: "",
				delay: 1e3
			},
			t);
			var n = o(a(t)),
			i = s.create(r.extend(t, {
				content: n,
				autoCenter: !0
			}));
			return t.delay && setTimeout(function() {
				i.hide()
			},
			t.delay),
			i
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e) {},
,
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		function o(t) {
			t = a.extend({
				mask: !0,
				content: null,
				autoCenter: !1,
				autoDestroy: !0,
				hideOnTouchMask: !1,
				iscroll: null,
				history: !1,
				show: !0,
				lazyRender: !1,
				zIndex: null
			},
			t),
			t.history = !(!t.history || !history.pushState),
			this.init(t)
		}
		n(90);
		var r = n(47),
		s = n(92),
		a = n(43),
		c = n(93),
		l = n(94),
		u = n(98),
		h = r(document.body);
		a.inherits(o, c),
		o.prototype.init = function(t) {
			this.opt = t,
			this.dom = r(t.content ? t.content: u()),
			this.firstShow = !0,
			null != t.zIndex && this.dom.css("z-index", t.zIndex),
			t.mask && (this.mask = l.create(a.extend({
				autoDestroy: t.autoDestroy,
				lazyRender: t.lazyRender,
				zIndex: null != t.zIndex ? t.zIndex - 1 + "": null
			},
			t.mask))),
			t.lazyRender || h.append(this.dom),
			this.bindEvent(),
			t.show && this.show(),
			t.history && (this.realHide = this.hide, this.hide = function() {
				this.showing && history.back()
			})
		},
		o.prototype.bindEvent = function() {
			var t = this,
			e = this.opt;
			if (e.autoCenter) {
				var n = function() {
					a.center(t.dom)
				};
				r(window).on("resize", n),
				this.on("show", n)
			}
			e.autoDestroy && this.on("hide",
			function() {
				setTimeout(t.destroy.bind(t), 1e3)
			}),
			e.hideOnTouchMask && e.mask && this.mask.on("touchstart",
			function() {
				t.hide()
			})
		},
		o.prototype._show = function() {
			var t = this.opt,
			e = this.firstShow;
			if (this.firstShow = !1, e && t.lazyRender && h.append(this.dom), t.mask && this.mask.show(), this.dom.addClass("visible"), t.iscroll) if (this.scroller) {
				var n = this.scroller;
				setTimeout(function() {
					n.refresh()
				},
				0)
			} else {
				var i = a.format('[data-role="${iscroll}"]', t),
				o = this.dom.find(i);
				if (!o.length) return;
				this.scroller = new s(o[0], {
					mouseWheel: !0
				}),
				t.mask && this.mask.on("touchstart",
				function(t) {
					t.preventDefault()
				}),
				this.dom.on("touchmove",
				function(t) {
					t.preventDefault()
				})
			}
			if (t.history) {
				history.pushState({},
				t.history);
				var r = this,
				c = function(t) {
					t.preventDefault(),
					r.realHide(),
					window.removeEventListener("popstate", c)
				};
				window.addEventListener("popstate", c, !1)
			}
		},
		o.prototype._hide = function(t) {
			this.mask && this.mask.hide(),
			this.dom.removeClass("visible")
		},
		o.prototype.destroy = function() {
			this.dom.remove(),
			this.fire("destroy")
		},
		o.create = function(t) {
			return new o(t)
		},
		i.exports = o
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e) {},
,
function(t, e) {
	/*! iScroll v5.1.3 ~ (c) 2008-2014 Matteo Spinelli ~ http://cubiq.org/license */
	!
	function(e, n, i) {
		function o(t, e) {
			this.wrapper = "string" == typeof t ? n.querySelector(t) : t,
			this.scroller = this.wrapper.children[0],
			this.scrollerStyle = this.scroller.style,
			this.options = {
				resizeScrollbars: !0,
				mouseWheelSpeed: 20,
				snapThreshold: .334,
				startX: 0,
				startY: 0,
				scrollY: !0,
				directionLockThreshold: 5,
				momentum: !0,
				bounce: !0,
				bounceTime: 600,
				bounceEasing: "",
				preventDefault: !0,
				preventDefaultException: {
					tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/
				},
				HWCompositing: !0,
				useTransition: !0,
				useTransform: !0
			};
			for (var i in e) this.options[i] = e[i];
			this.translateZ = this.options.HWCompositing && c.hasPerspective ? " translateZ(0)": "",
			this.options.useTransition = c.hasTransition && this.options.useTransition,
			this.options.useTransform = c.hasTransform && this.options.useTransform,
			this.options.eventPassthrough = this.options.eventPassthrough === !0 ? "vertical": this.options.eventPassthrough,
			this.options.preventDefault = !this.options.eventPassthrough && this.options.preventDefault,
			this.options.scrollY = "vertical" == this.options.eventPassthrough ? !1 : this.options.scrollY,
			this.options.scrollX = "horizontal" == this.options.eventPassthrough ? !1 : this.options.scrollX,
			this.options.freeScroll = this.options.freeScroll && !this.options.eventPassthrough,
			this.options.directionLockThreshold = this.options.eventPassthrough ? 0 : this.options.directionLockThreshold,
			this.options.bounceEasing = "string" == typeof this.options.bounceEasing ? c.ease[this.options.bounceEasing] || c.ease.circular: this.options.bounceEasing,
			this.options.resizePolling = void 0 === this.options.resizePolling ? 60 : this.options.resizePolling,
			this.options.tap === !0 && (this.options.tap = "tap"),
			"scale" == this.options.shrinkScrollbars && (this.options.useTransition = !1),
			this.options.invertWheelDirection = this.options.invertWheelDirection ? -1 : 1,
			this.x = 0,
			this.y = 0,
			this.directionX = 0,
			this.directionY = 0,
			this._events = {},
			this._init(),
			this.refresh(),
			this.scrollTo(this.options.startX, this.options.startY),
			this.enable()
		}
		function r(t, e, i) {
			var o = n.createElement("div"),
			r = n.createElement("div");
			return i === !0 && (o.style.cssText = "position:absolute;z-index:9999", r.style.cssText = "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px"),
			r.className = "iScrollIndicator",
			"h" == t ? (i === !0 && (o.style.cssText += ";height:7px;left:2px;right:2px;bottom:0", r.style.height = "100%"), o.className = "iScrollHorizontalScrollbar") : (i === !0 && (o.style.cssText += ";width:7px;bottom:2px;top:2px;right:1px", r.style.width = "100%"), o.className = "iScrollVerticalScrollbar"),
			o.style.cssText += ";overflow:hidden",
			e || (o.style.pointerEvents = "none"),
			o.appendChild(r),
			o
		}
		function s(t, i) {
			this.wrapper = "string" == typeof i.el ? n.querySelector(i.el) : i.el,
			this.wrapperStyle = this.wrapper.style,
			this.indicator = this.wrapper.children[0],
			this.indicatorStyle = this.indicator.style,
			this.scroller = t,
			this.options = {
				listenX: !0,
				listenY: !0,
				interactive: !1,
				resize: !0,
				defaultScrollbars: !1,
				shrink: !1,
				fade: !1,
				speedRatioX: 0,
				speedRatioY: 0
			};
			for (var o in i) this.options[o] = i[o];
			this.sizeRatioX = 1,
			this.sizeRatioY = 1,
			this.maxPosX = 0,
			this.maxPosY = 0,
			this.options.interactive && (this.options.disableTouch || (c.addEvent(this.indicator, "touchstart", this), c.addEvent(e, "touchend", this)), this.options.disablePointer || (c.addEvent(this.indicator, c.prefixPointerEvent("pointerdown"), this), c.addEvent(e, c.prefixPointerEvent("pointerup"), this)), this.options.disableMouse || (c.addEvent(this.indicator, "mousedown", this), c.addEvent(e, "mouseup", this))),
			this.options.fade && (this.wrapperStyle[c.style.transform] = this.scroller.translateZ, this.wrapperStyle[c.style.transitionDuration] = c.isBadAndroid ? "0.001s": "0ms", this.wrapperStyle.opacity = "0")
		}
		var a = e.requestAnimationFrame || e.webkitRequestAnimationFrame || e.mozRequestAnimationFrame || e.oRequestAnimationFrame || e.msRequestAnimationFrame ||
		function(t) {
			e.setTimeout(t, 1e3 / 60)
		},
		c = function() {
			function t(t) {
				return s === !1 ? !1 : "" === s ? t: s + t.charAt(0).toUpperCase() + t.substr(1)
			}
			var o = {},
			r = n.createElement("div").style,
			s = function() {
				for (var t, e = ["t", "webkitT", "MozT", "msT", "OT"], n = 0, i = e.length; i > n; n++) if (t = e[n] + "ransform", t in r) return e[n].substr(0, e[n].length - 1);
				return ! 1
			} ();
			o.getTime = Date.now ||
			function() {
				return (new Date).getTime()
			},
			o.extend = function(t, e) {
				for (var n in e) t[n] = e[n]
			},
			o.addEvent = function(t, e, n, i) {
				t.addEventListener(e, n, !!i)
			},
			o.removeEvent = function(t, e, n, i) {
				t.removeEventListener(e, n, !!i)
			},
			o.prefixPointerEvent = function(t) {
				return e.MSPointerEvent ? "MSPointer" + t.charAt(9).toUpperCase() + t.substr(10) : t
			},
			o.momentum = function(t, e, n, o, r, s) {
				var a, c, l = t - e,
				u = i.abs(l) / n;
				return s = void 0 === s ? 6e-4: s,
				a = t + u * u / (2 * s) * (0 > l ? -1 : 1),
				c = u / s,
				o > a ? (a = r ? o - r / 2.5 * (u / 8) : o, l = i.abs(a - t), c = l / u) : a > 0 && (a = r ? r / 2.5 * (u / 8) : 0, l = i.abs(t) + a, c = l / u),
				{
					destination: i.round(a),
					duration: c
				}
			};
			var a = t("transform");
			return o.extend(o, {
				hasTransform: a !== !1,
				hasPerspective: t("perspective") in r,
				hasTouch: "ontouchstart" in e,
				hasPointer: e.PointerEvent || e.MSPointerEvent,
				hasTransition: t("transition") in r
			}),
			o.isBadAndroid = /Android /.test(e.navigator.appVersion) && !/Chrome\/\d/.test(e.navigator.appVersion),
			o.extend(o.style = {},
			{
				transform: a,
				transitionTimingFunction: t("transitionTimingFunction"),
				transitionDuration: t("transitionDuration"),
				transitionDelay: t("transitionDelay"),
				transformOrigin: t("transformOrigin")
			}),
			o.hasClass = function(t, e) {
				var n = new RegExp("(^|\\s)" + e + "(\\s|$)");
				return n.test(t.className)
			},
			o.addClass = function(t, e) {
				if (!o.hasClass(t, e)) {
					var n = t.className.split(" ");
					n.push(e),
					t.className = n.join(" ")
				}
			},
			o.removeClass = function(t, e) {
				if (o.hasClass(t, e)) {
					var n = new RegExp("(^|\\s)" + e + "(\\s|$)", "g");
					t.className = t.className.replace(n, " ")
				}
			},
			o.offset = function(t) {
				for (var e = -t.offsetLeft,
				n = -t.offsetTop; t = t.offsetParent;) e -= t.offsetLeft,
				n -= t.offsetTop;
				return {
					left: e,
					top: n
				}
			},
			o.preventDefaultException = function(t, e) {
				for (var n in e) if (e[n].test(t[n])) return ! 0;
				return ! 1
			},
			o.extend(o.eventType = {},
			{
				touchstart: 1,
				touchmove: 1,
				touchend: 1,
				mousedown: 2,
				mousemove: 2,
				mouseup: 2,
				pointerdown: 3,
				pointermove: 3,
				pointerup: 3,
				MSPointerDown: 3,
				MSPointerMove: 3,
				MSPointerUp: 3
			}),
			o.extend(o.ease = {},
			{
				quadratic: {
					style: "cubic-bezier(0.25, 0.46, 0.45, 0.94)",
					fn: function(t) {
						return t * (2 - t)
					}
				},
				circular: {
					style: "cubic-bezier(0.1, 0.57, 0.1, 1)",
					fn: function(t) {
						return i.sqrt(1 - --t * t)
					}
				},
				back: {
					style: "cubic-bezier(0.175, 0.885, 0.32, 1.275)",
					fn: function(t) {
						var e = 4;
						return (t -= 1) * t * ((e + 1) * t + e) + 1
					}
				},
				bounce: {
					style: "",
					fn: function(t) {
						return (t /= 1) < 1 / 2.75 ? 7.5625 * t * t: 2 / 2.75 > t ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 : 2.5 / 2.75 > t ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 : 7.5625 * (t -= 2.625 / 2.75) * t + .984375
					}
				},
				elastic: {
					style: "",
					fn: function(t) {
						var e = .22,
						n = .4;
						return 0 === t ? 0 : 1 == t ? 1 : n * i.pow(2, -10 * t) * i.sin((t - e / 4) * (2 * i.PI) / e) + 1
					}
				}
			}),
			o.tap = function(t, e) {
				var i = n.createEvent("Event");
				i.initEvent(e, !0, !0),
				i.pageX = t.pageX,
				i.pageY = t.pageY,
				t.target.dispatchEvent(i)
			},
			o.click = function(t) {
				var e, i = t.target;
				/(SELECT|INPUT|TEXTAREA)/i.test(i.tagName) || (e = n.createEvent("MouseEvents"), e.initMouseEvent("click", !0, !0, t.view, 1, i.screenX, i.screenY, i.clientX, i.clientY, t.ctrlKey, t.altKey, t.shiftKey, t.metaKey, 0, null), e._constructed = !0, i.dispatchEvent(e))
			},
			o
		} ();
		o.prototype = {
			version: "5.1.3",
			_init: function() {
				this._initEvents(),
				(this.options.scrollbars || this.options.indicators) && this._initIndicators(),
				this.options.mouseWheel && this._initWheel(),
				this.options.snap && this._initSnap(),
				this.options.keyBindings && this._initKeys()
			},
			destroy: function() {
				this._initEvents(!0),
				this._execEvent("destroy")
			},
			_transitionEnd: function(t) {
				t.target == this.scroller && this.isInTransition && (this._transitionTime(), this.resetPosition(this.options.bounceTime) || (this.isInTransition = !1, this._execEvent("scrollEnd")))
			},
			_start: function(t) {
				if ((1 == c.eventType[t.type] || 0 === t.button) && this.enabled && (!this.initiated || c.eventType[t.type] === this.initiated)) { ! this.options.preventDefault || c.isBadAndroid || c.preventDefaultException(t.target, this.options.preventDefaultException) || t.preventDefault();
					var e, n = t.touches ? t.touches[0] : t;
					this.initiated = c.eventType[t.type],
					this.moved = !1,
					this.distX = 0,
					this.distY = 0,
					this.directionX = 0,
					this.directionY = 0,
					this.directionLocked = 0,
					this._transitionTime(),
					this.startTime = c.getTime(),
					this.options.useTransition && this.isInTransition ? (this.isInTransition = !1, e = this.getComputedPosition(), this._translate(i.round(e.x), i.round(e.y)), this._execEvent("scrollEnd")) : !this.options.useTransition && this.isAnimating && (this.isAnimating = !1, this._execEvent("scrollEnd")),
					this.startX = this.x,
					this.startY = this.y,
					this.absStartX = this.x,
					this.absStartY = this.y,
					this.pointX = n.pageX,
					this.pointY = n.pageY,
					this._execEvent("beforeScrollStart")
				}
			},
			_move: function(t) {
				if (this.enabled && c.eventType[t.type] === this.initiated) {
					this.options.preventDefault && t.preventDefault();
					var e, n, o, r, s = t.touches ? t.touches[0] : t,
					a = s.pageX - this.pointX,
					l = s.pageY - this.pointY,
					u = c.getTime();
					if (this.pointX = s.pageX, this.pointY = s.pageY, this.distX += a, this.distY += l, o = i.abs(this.distX), r = i.abs(this.distY), !(u - this.endTime > 300 && 10 > o && 10 > r)) {
						if (this.directionLocked || this.options.freeScroll || (o > r + this.options.directionLockThreshold ? this.directionLocked = "h": r >= o + this.options.directionLockThreshold ? this.directionLocked = "v": this.directionLocked = "n"), "h" == this.directionLocked) {
							if ("vertical" == this.options.eventPassthrough) t.preventDefault();
							else if ("horizontal" == this.options.eventPassthrough) return void(this.initiated = !1);
							l = 0
						} else if ("v" == this.directionLocked) {
							if ("horizontal" == this.options.eventPassthrough) t.preventDefault();
							else if ("vertical" == this.options.eventPassthrough) return void(this.initiated = !1);
							a = 0
						}
						a = this.hasHorizontalScroll ? a: 0,
						l = this.hasVerticalScroll ? l: 0,
						e = this.x + a,
						n = this.y + l,
						(e > 0 || e < this.maxScrollX) && (e = this.options.bounce ? this.x + a / 3 : e > 0 ? 0 : this.maxScrollX),
						(n > 0 || n < this.maxScrollY) && (n = this.options.bounce ? this.y + l / 3 : n > 0 ? 0 : this.maxScrollY),
						this.directionX = a > 0 ? -1 : 0 > a ? 1 : 0,
						this.directionY = l > 0 ? -1 : 0 > l ? 1 : 0,
						this.moved || this._execEvent("scrollStart"),
						this.moved = !0,
						this._translate(e, n),
						u - this.startTime > 300 && (this.startTime = u, this.startX = this.x, this.startY = this.y)
					}
				}
			},
			_end: function(t) {
				if (this.enabled && c.eventType[t.type] === this.initiated) {
					this.options.preventDefault && !c.preventDefaultException(t.target, this.options.preventDefaultException) && t.preventDefault();
					var e, n, o = (t.changedTouches ? t.changedTouches[0] : t, c.getTime() - this.startTime),
					r = i.round(this.x),
					s = i.round(this.y),
					a = i.abs(r - this.startX),
					l = i.abs(s - this.startY),
					u = 0,
					h = "";
					if (this.isInTransition = 0, this.initiated = 0, this.endTime = c.getTime(), !this.resetPosition(this.options.bounceTime)) {
						if (this.scrollTo(r, s), !this.moved) return this.options.tap && c.tap(t, this.options.tap),
						this.options.click && c.click(t),
						void this._execEvent("scrollCancel");
						if (this._events.flick && 200 > o && 100 > a && 100 > l) return void this._execEvent("flick");
						if (this.options.momentum && 300 > o && (e = this.hasHorizontalScroll ? c.momentum(this.x, this.startX, o, this.maxScrollX, this.options.bounce ? this.wrapperWidth: 0, this.options.deceleration) : {
							destination: r,
							duration: 0
						},
						n = this.hasVerticalScroll ? c.momentum(this.y, this.startY, o, this.maxScrollY, this.options.bounce ? this.wrapperHeight: 0, this.options.deceleration) : {
							destination: s,
							duration: 0
						},
						r = e.destination, s = n.destination, u = i.max(e.duration, n.duration), this.isInTransition = 1), this.options.snap) {
							var d = this._nearestSnap(r, s);
							this.currentPage = d,
							u = this.options.snapSpeed || i.max(i.max(i.min(i.abs(r - d.x), 1e3), i.min(i.abs(s - d.y), 1e3)), 300),
							r = d.x,
							s = d.y,
							this.directionX = 0,
							this.directionY = 0,
							h = this.options.bounceEasing
						}
						return r != this.x || s != this.y ? ((r > 0 || r < this.maxScrollX || s > 0 || s < this.maxScrollY) && (h = c.ease.quadratic), void this.scrollTo(r, s, u, h)) : void this._execEvent("scrollEnd")
					}
				}
			},
			_resize: function() {
				var t = this;
				clearTimeout(this.resizeTimeout),
				this.resizeTimeout = setTimeout(function() {
					t.refresh()
				},
				this.options.resizePolling)
			},
			resetPosition: function(t) {
				var e = this.x,
				n = this.y;
				return t = t || 0,
				!this.hasHorizontalScroll || this.x > 0 ? e = 0 : this.x < this.maxScrollX && (e = this.maxScrollX),
				!this.hasVerticalScroll || this.y > 0 ? n = 0 : this.y < this.maxScrollY && (n = this.maxScrollY),
				e == this.x && n == this.y ? !1 : (this.scrollTo(e, n, t, this.options.bounceEasing), !0)
			},
			disable: function() {
				this.enabled = !1
			},
			enable: function() {
				this.enabled = !0
			},
			refresh: function() {
				this.wrapper.offsetHeight;
				this.wrapperWidth = this.wrapper.clientWidth,
				this.wrapperHeight = this.wrapper.clientHeight,
				this.scrollerWidth = this.scroller.offsetWidth,
				this.scrollerHeight = this.scroller.offsetHeight,
				this.maxScrollX = this.wrapperWidth - this.scrollerWidth,
				this.maxScrollY = this.wrapperHeight - this.scrollerHeight,
				this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < 0,
				this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < 0,
				this.hasHorizontalScroll || (this.maxScrollX = 0, this.scrollerWidth = this.wrapperWidth),
				this.hasVerticalScroll || (this.maxScrollY = 0, this.scrollerHeight = this.wrapperHeight),
				this.endTime = 0,
				this.directionX = 0,
				this.directionY = 0,
				this.wrapperOffset = c.offset(this.wrapper),
				this._execEvent("refresh"),
				this.resetPosition()
			},
			on: function(t, e) {
				this._events[t] || (this._events[t] = []),
				this._events[t].push(e)
			},
			off: function(t, e) {
				if (this._events[t]) {
					var n = this._events[t].indexOf(e);
					n > -1 && this._events[t].splice(n, 1)
				}
			},
			_execEvent: function(t) {
				if (this._events[t]) {
					var e = 0,
					n = this._events[t].length;
					if (n) for (; n > e; e++) this._events[t][e].apply(this, [].slice.call(arguments, 1))
				}
			},
			scrollBy: function(t, e, n, i) {
				t = this.x + t,
				e = this.y + e,
				n = n || 0,
				this.scrollTo(t, e, n, i)
			},
			scrollTo: function(t, e, n, i) {
				i = i || c.ease.circular,
				this.isInTransition = this.options.useTransition && n > 0,
				!n || this.options.useTransition && i.style ? (this._transitionTimingFunction(i.style), this._transitionTime(n), this._translate(t, e)) : this._animate(t, e, n, i.fn)
			},
			scrollToElement: function(t, e, n, o, r) {
				if (t = t.nodeType ? t: this.scroller.querySelector(t)) {
					var s = c.offset(t);
					s.left -= this.wrapperOffset.left,
					s.top -= this.wrapperOffset.top,
					n === !0 && (n = i.round(t.offsetWidth / 2 - this.wrapper.offsetWidth / 2)),
					o === !0 && (o = i.round(t.offsetHeight / 2 - this.wrapper.offsetHeight / 2)),
					s.left -= n || 0,
					s.top -= o || 0,
					s.left = s.left > 0 ? 0 : s.left < this.maxScrollX ? this.maxScrollX: s.left,
					s.top = s.top > 0 ? 0 : s.top < this.maxScrollY ? this.maxScrollY: s.top,
					e = void 0 === e || null === e || "auto" === e ? i.max(i.abs(this.x - s.left), i.abs(this.y - s.top)) : e,
					this.scrollTo(s.left, s.top, e, r)
				}
			},
			_transitionTime: function(t) {
				if (t = t || 0, this.scrollerStyle[c.style.transitionDuration] = t + "ms", !t && c.isBadAndroid && (this.scrollerStyle[c.style.transitionDuration] = "0.001s"), this.indicators) for (var e = this.indicators.length; e--;) this.indicators[e].transitionTime(t)
			},
			_transitionTimingFunction: function(t) {
				if (this.scrollerStyle[c.style.transitionTimingFunction] = t, this.indicators) for (var e = this.indicators.length; e--;) this.indicators[e].transitionTimingFunction(t)
			},
			_translate: function(t, e) {
				if (this.options.useTransform ? this.scrollerStyle[c.style.transform] = "translate(" + t + "px," + e + "px)" + this.translateZ: (t = i.round(t), e = i.round(e), this.scrollerStyle.left = t + "px", this.scrollerStyle.top = e + "px"), this.x = t, this.y = e, this.indicators) for (var n = this.indicators.length; n--;) this.indicators[n].updatePosition()
			},
			_initEvents: function(t) {
				var n = t ? c.removeEvent: c.addEvent,
				i = this.options.bindToWrapper ? this.wrapper: e;
				n(e, "orientationchange", this),
				n(e, "resize", this),
				this.options.click && n(this.wrapper, "click", this, !0),
				this.options.disableMouse || (n(this.wrapper, "mousedown", this), n(i, "mousemove", this), n(i, "mousecancel", this), n(i, "mouseup", this)),
				c.hasPointer && !this.options.disablePointer && (n(this.wrapper, c.prefixPointerEvent("pointerdown"), this), n(i, c.prefixPointerEvent("pointermove"), this), n(i, c.prefixPointerEvent("pointercancel"), this), n(i, c.prefixPointerEvent("pointerup"), this)),
				c.hasTouch && !this.options.disableTouch && (n(this.wrapper, "touchstart", this), n(i, "touchmove", this), n(i, "touchcancel", this), n(i, "touchend", this)),
				n(this.scroller, "transitionend", this),
				n(this.scroller, "webkitTransitionEnd", this),
				n(this.scroller, "oTransitionEnd", this),
				n(this.scroller, "MSTransitionEnd", this)
			},
			getComputedPosition: function() {
				var t, n, i = e.getComputedStyle(this.scroller, null);
				return this.options.useTransform ? (i = i[c.style.transform].split(")")[0].split(", "), t = +(i[12] || i[4]), n = +(i[13] || i[5])) : (t = +i.left.replace(/[^-\d.]/g, ""), n = +i.top.replace(/[^-\d.]/g, "")),
				{
					x: t,
					y: n
				}
			},
			_initIndicators: function() {
				function t(t) {
					for (var e = a.indicators.length; e--;) t.call(a.indicators[e])
				}
				var e, n = this.options.interactiveScrollbars,
				i = "string" != typeof this.options.scrollbars,
				o = [],
				a = this;
				this.indicators = [],
				this.options.scrollbars && (this.options.scrollY && (e = {
					el: r("v", n, this.options.scrollbars),
					interactive: n,
					defaultScrollbars: !0,
					customStyle: i,
					resize: this.options.resizeScrollbars,
					shrink: this.options.shrinkScrollbars,
					fade: this.options.fadeScrollbars,
					listenX: !1
				},
				this.wrapper.appendChild(e.el), o.push(e)), this.options.scrollX && (e = {
					el: r("h", n, this.options.scrollbars),
					interactive: n,
					defaultScrollbars: !0,
					customStyle: i,
					resize: this.options.resizeScrollbars,
					shrink: this.options.shrinkScrollbars,
					fade: this.options.fadeScrollbars,
					listenY: !1
				},
				this.wrapper.appendChild(e.el), o.push(e))),
				this.options.indicators && (o = o.concat(this.options.indicators));
				for (var c = o.length; c--;) this.indicators.push(new s(this, o[c]));
				this.options.fadeScrollbars && (this.on("scrollEnd",
				function() {
					t(function() {
						this.fade()
					})
				}), this.on("scrollCancel",
				function() {
					t(function() {
						this.fade()
					})
				}), this.on("scrollStart",
				function() {
					t(function() {
						this.fade(1)
					})
				}), this.on("beforeScrollStart",
				function() {
					t(function() {
						this.fade(1, !0)
					})
				})),
				this.on("refresh",
				function() {
					t(function() {
						this.refresh()
					})
				}),
				this.on("destroy",
				function() {
					t(function() {
						this.destroy()
					}),
					delete this.indicators
				})
			},
			_initWheel: function() {
				c.addEvent(this.wrapper, "wheel", this),
				c.addEvent(this.wrapper, "mousewheel", this),
				c.addEvent(this.wrapper, "DOMMouseScroll", this),
				this.on("destroy",
				function() {
					c.removeEvent(this.wrapper, "wheel", this),
					c.removeEvent(this.wrapper, "mousewheel", this),
					c.removeEvent(this.wrapper, "DOMMouseScroll", this)
				})
			},
			_wheel: function(t) {
				if (this.enabled) {
					t.preventDefault(),
					t.stopPropagation();
					var e, n, o, r, s = this;
					if (void 0 === this.wheelTimeout && s._execEvent("scrollStart"), clearTimeout(this.wheelTimeout), this.wheelTimeout = setTimeout(function() {
						s._execEvent("scrollEnd"),
						s.wheelTimeout = void 0
					},
					400), "deltaX" in t) 1 === t.deltaMode ? (e = -t.deltaX * this.options.mouseWheelSpeed, n = -t.deltaY * this.options.mouseWheelSpeed) : (e = -t.deltaX, n = -t.deltaY);
					else if ("wheelDeltaX" in t) e = t.wheelDeltaX / 120 * this.options.mouseWheelSpeed,
					n = t.wheelDeltaY / 120 * this.options.mouseWheelSpeed;
					else if ("wheelDelta" in t) e = n = t.wheelDelta / 120 * this.options.mouseWheelSpeed;
					else {
						if (! ("detail" in t)) return;
						e = n = -t.detail / 3 * this.options.mouseWheelSpeed
					}
					if (e *= this.options.invertWheelDirection, n *= this.options.invertWheelDirection, this.hasVerticalScroll || (e = n, n = 0), this.options.snap) return o = this.currentPage.pageX,
					r = this.currentPage.pageY,
					e > 0 ? o--:0 > e && o++,
					n > 0 ? r--:0 > n && r++,
					void this.goToPage(o, r);
					o = this.x + i.round(this.hasHorizontalScroll ? e: 0),
					r = this.y + i.round(this.hasVerticalScroll ? n: 0),
					o > 0 ? o = 0 : o < this.maxScrollX && (o = this.maxScrollX),
					r > 0 ? r = 0 : r < this.maxScrollY && (r = this.maxScrollY),
					this.scrollTo(o, r, 0)
				}
			},
			_initSnap: function() {
				this.currentPage = {},
				"string" == typeof this.options.snap && (this.options.snap = this.scroller.querySelectorAll(this.options.snap)),
				this.on("refresh",
				function() {
					var t, e, n, o, r, s, a = 0,
					c = 0,
					l = 0,
					u = this.options.snapStepX || this.wrapperWidth,
					h = this.options.snapStepY || this.wrapperHeight;
					if (this.pages = [], this.wrapperWidth && this.wrapperHeight && this.scrollerWidth && this.scrollerHeight) {
						if (this.options.snap === !0) for (n = i.round(u / 2), o = i.round(h / 2); l > -this.scrollerWidth;) {
							for (this.pages[a] = [], t = 0, r = 0; r > -this.scrollerHeight;) this.pages[a][t] = {
								x: i.max(l, this.maxScrollX),
								y: i.max(r, this.maxScrollY),
								width: u,
								height: h,
								cx: l - n,
								cy: r - o
							},
							r -= h,
							t++;
							l -= u,
							a++
						} else for (s = this.options.snap, t = s.length, e = -1; t > a; a++)(0 === a || s[a].offsetLeft <= s[a - 1].offsetLeft) && (c = 0, e++),
						this.pages[c] || (this.pages[c] = []),
						l = i.max( - s[a].offsetLeft, this.maxScrollX),
						r = i.max( - s[a].offsetTop, this.maxScrollY),
						n = l - i.round(s[a].offsetWidth / 2),
						o = r - i.round(s[a].offsetHeight / 2),
						this.pages[c][e] = {
							x: l,
							y: r,
							width: s[a].offsetWidth,
							height: s[a].offsetHeight,
							cx: n,
							cy: o
						},
						l > this.maxScrollX && c++;
						this.goToPage(this.currentPage.pageX || 0, this.currentPage.pageY || 0, 0),
						this.options.snapThreshold % 1 === 0 ? (this.snapThresholdX = this.options.snapThreshold, this.snapThresholdY = this.options.snapThreshold) : (this.snapThresholdX = i.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].width * this.options.snapThreshold), this.snapThresholdY = i.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].height * this.options.snapThreshold))
					}
				}),
				this.on("flick",
				function() {
					var t = this.options.snapSpeed || i.max(i.max(i.min(i.abs(this.x - this.startX), 1e3), i.min(i.abs(this.y - this.startY), 1e3)), 300);
					this.goToPage(this.currentPage.pageX + this.directionX, this.currentPage.pageY + this.directionY, t)
				})
			},
			_nearestSnap: function(t, e) {
				if (!this.pages.length) return {
					x: 0,
					y: 0,
					pageX: 0,
					pageY: 0
				};
				var n = 0,
				o = this.pages.length,
				r = 0;
				if (i.abs(t - this.absStartX) < this.snapThresholdX && i.abs(e - this.absStartY) < this.snapThresholdY) return this.currentPage;
				for (t > 0 ? t = 0 : t < this.maxScrollX && (t = this.maxScrollX), e > 0 ? e = 0 : e < this.maxScrollY && (e = this.maxScrollY); o > n; n++) if (t >= this.pages[n][0].cx) {
					t = this.pages[n][0].x;
					break
				}
				for (o = this.pages[n].length; o > r; r++) if (e >= this.pages[0][r].cy) {
					e = this.pages[0][r].y;
					break
				}
				return n == this.currentPage.pageX && (n += this.directionX, 0 > n ? n = 0 : n >= this.pages.length && (n = this.pages.length - 1), t = this.pages[n][0].x),
				r == this.currentPage.pageY && (r += this.directionY, 0 > r ? r = 0 : r >= this.pages[0].length && (r = this.pages[0].length - 1), e = this.pages[0][r].y),
				{
					x: t,
					y: e,
					pageX: n,
					pageY: r
				}
			},
			goToPage: function(t, e, n, o) {
				o = o || this.options.bounceEasing,
				t >= this.pages.length ? t = this.pages.length - 1 : 0 > t && (t = 0),
				e >= this.pages[t].length ? e = this.pages[t].length - 1 : 0 > e && (e = 0);
				var r = this.pages[t][e].x,
				s = this.pages[t][e].y;
				n = void 0 === n ? this.options.snapSpeed || i.max(i.max(i.min(i.abs(r - this.x), 1e3), i.min(i.abs(s - this.y), 1e3)), 300) : n,
				this.currentPage = {
					x: r,
					y: s,
					pageX: t,
					pageY: e
				},
				this.scrollTo(r, s, n, o)
			},
			next: function(t, e) {
				var n = this.currentPage.pageX,
				i = this.currentPage.pageY;
				n++,
				n >= this.pages.length && this.hasVerticalScroll && (n = 0, i++),
				this.goToPage(n, i, t, e)
			},
			prev: function(t, e) {
				var n = this.currentPage.pageX,
				i = this.currentPage.pageY;
				n--,
				0 > n && this.hasVerticalScroll && (n = 0, i--),
				this.goToPage(n, i, t, e)
			},
			_initKeys: function(t) {
				var n, i = {
					pageUp: 33,
					pageDown: 34,
					end: 35,
					home: 36,
					left: 37,
					up: 38,
					right: 39,
					down: 40
				};
				if ("object" == typeof this.options.keyBindings) for (n in this.options.keyBindings)"string" == typeof this.options.keyBindings[n] && (this.options.keyBindings[n] = this.options.keyBindings[n].toUpperCase().charCodeAt(0));
				else this.options.keyBindings = {};
				for (n in i) this.options.keyBindings[n] = this.options.keyBindings[n] || i[n];
				c.addEvent(e, "keydown", this),
				this.on("destroy",
				function() {
					c.removeEvent(e, "keydown", this)
				})
			},
			_key: function(t) {
				if (this.enabled) {
					var e, n = this.options.snap,
					o = n ? this.currentPage.pageX: this.x,
					r = n ? this.currentPage.pageY: this.y,
					s = c.getTime(),
					a = this.keyTime || 0,
					l = .25;
					switch (this.options.useTransition && this.isInTransition && (e = this.getComputedPosition(), this._translate(i.round(e.x), i.round(e.y)), this.isInTransition = !1), this.keyAcceleration = 200 > s - a ? i.min(this.keyAcceleration + l, 50) : 0, t.keyCode) {
					case this.options.keyBindings.pageUp:
						this.hasHorizontalScroll && !this.hasVerticalScroll ? o += n ? 1 : this.wrapperWidth: r += n ? 1 : this.wrapperHeight;
						break;
					case this.options.keyBindings.pageDown:
						this.hasHorizontalScroll && !this.hasVerticalScroll ? o -= n ? 1 : this.wrapperWidth: r -= n ? 1 : this.wrapperHeight;
						break;
					case this.options.keyBindings.end:
						o = n ? this.pages.length - 1 : this.maxScrollX,
						r = n ? this.pages[0].length - 1 : this.maxScrollY;
						break;
					case this.options.keyBindings.home:
						o = 0,
						r = 0;
						break;
					case this.options.keyBindings.left:
						o += n ? -1 : 5 + this.keyAcceleration >> 0;
						break;
					case this.options.keyBindings.up:
						r += n ? 1 : 5 + this.keyAcceleration >> 0;
						break;
					case this.options.keyBindings.right:
						o -= n ? -1 : 5 + this.keyAcceleration >> 0;
						break;
					case this.options.keyBindings.down:
						r -= n ? 1 : 5 + this.keyAcceleration >> 0;
						break;
					default:
						return
					}
					if (n) return void this.goToPage(o, r);
					o > 0 ? (o = 0, this.keyAcceleration = 0) : o < this.maxScrollX && (o = this.maxScrollX, this.keyAcceleration = 0),
					r > 0 ? (r = 0, this.keyAcceleration = 0) : r < this.maxScrollY && (r = this.maxScrollY, this.keyAcceleration = 0),
					this.scrollTo(o, r, 0),
					this.keyTime = s
				}
			},
			_animate: function(t, e, n, i) {
				function o() {
					var d, p, f, g = c.getTime();
					return g >= h ? (r.isAnimating = !1, r._translate(t, e), void(r.resetPosition(r.options.bounceTime) || r._execEvent("scrollEnd"))) : (g = (g - u) / n, f = i(g), d = (t - s) * f + s, p = (e - l) * f + l, r._translate(d, p), void(r.isAnimating && a(o)))
				}
				var r = this,
				s = this.x,
				l = this.y,
				u = c.getTime(),
				h = u + n;
				this.isAnimating = !0,
				o()
			},
			handleEvent: function(t) {
				switch (t.type) {
				case "touchstart":
				case "pointerdown":
				case "MSPointerDown":
				case "mousedown":
					this._start(t);
					break;
				case "touchmove":
				case "pointermove":
				case "MSPointerMove":
				case "mousemove":
					this._move(t);
					break;
				case "touchend":
				case "pointerup":
				case "MSPointerUp":
				case "mouseup":
				case "touchcancel":
				case "pointercancel":
				case "MSPointerCancel":
				case "mousecancel":
					this._end(t);
					break;
				case "orientationchange":
				case "resize":
					this._resize();
					break;
				case "transitionend":
				case "webkitTransitionEnd":
				case "oTransitionEnd":
				case "MSTransitionEnd":
					this._transitionEnd(t);
					break;
				case "wheel":
				case "DOMMouseScroll":
				case "mousewheel":
					this._wheel(t);
					break;
				case "keydown":
					this._key(t);
					break;
				case "click":
					t._constructed || (t.preventDefault(), t.stopPropagation())
				}
			}
		},
		s.prototype = {
			handleEvent: function(t) {
				switch (t.type) {
				case "touchstart":
				case "pointerdown":
				case "MSPointerDown":
				case "mousedown":
					this._start(t);
					break;
				case "touchmove":
				case "pointermove":
				case "MSPointerMove":
				case "mousemove":
					this._move(t);
					break;
				case "touchend":
				case "pointerup":
				case "MSPointerUp":
				case "mouseup":
				case "touchcancel":
				case "pointercancel":
				case "MSPointerCancel":
				case "mousecancel":
					this._end(t)
				}
			},
			destroy: function() {
				this.options.interactive && (c.removeEvent(this.indicator, "touchstart", this), c.removeEvent(this.indicator, c.prefixPointerEvent("pointerdown"), this), c.removeEvent(this.indicator, "mousedown", this), c.removeEvent(e, "touchmove", this), c.removeEvent(e, c.prefixPointerEvent("pointermove"), this), c.removeEvent(e, "mousemove", this), c.removeEvent(e, "touchend", this), c.removeEvent(e, c.prefixPointerEvent("pointerup"), this), c.removeEvent(e, "mouseup", this)),
				this.options.defaultScrollbars && this.wrapper.parentNode.removeChild(this.wrapper)
			},
			_start: function(t) {
				var n = t.touches ? t.touches[0] : t;
				t.preventDefault(),
				t.stopPropagation(),
				this.transitionTime(),
				this.initiated = !0,
				this.moved = !1,
				this.lastPointX = n.pageX,
				this.lastPointY = n.pageY,
				this.startTime = c.getTime(),
				this.options.disableTouch || c.addEvent(e, "touchmove", this),
				this.options.disablePointer || c.addEvent(e, c.prefixPointerEvent("pointermove"), this),
				this.options.disableMouse || c.addEvent(e, "mousemove", this),
				this.scroller._execEvent("beforeScrollStart")
			},
			_move: function(t) {
				var e, n, i, o, r = t.touches ? t.touches[0] : t;
				c.getTime();
				this.moved || this.scroller._execEvent("scrollStart"),
				this.moved = !0,
				e = r.pageX - this.lastPointX,
				this.lastPointX = r.pageX,
				n = r.pageY - this.lastPointY,
				this.lastPointY = r.pageY,
				i = this.x + e,
				o = this.y + n,
				this._pos(i, o),
				t.preventDefault(),
				t.stopPropagation()
			},
			_end: function(t) {
				if (this.initiated) {
					if (this.initiated = !1, t.preventDefault(), t.stopPropagation(), c.removeEvent(e, "touchmove", this), c.removeEvent(e, c.prefixPointerEvent("pointermove"), this), c.removeEvent(e, "mousemove", this), this.scroller.options.snap) {
						var n = this.scroller._nearestSnap(this.scroller.x, this.scroller.y),
						o = this.options.snapSpeed || i.max(i.max(i.min(i.abs(this.scroller.x - n.x), 1e3), i.min(i.abs(this.scroller.y - n.y), 1e3)), 300); (this.scroller.x != n.x || this.scroller.y != n.y) && (this.scroller.directionX = 0, this.scroller.directionY = 0, this.scroller.currentPage = n, this.scroller.scrollTo(n.x, n.y, o, this.scroller.options.bounceEasing))
					}
					this.moved && this.scroller._execEvent("scrollEnd")
				}
			},
			transitionTime: function(t) {
				t = t || 0,
				this.indicatorStyle[c.style.transitionDuration] = t + "ms",
				!t && c.isBadAndroid && (this.indicatorStyle[c.style.transitionDuration] = "0.001s")
			},
			transitionTimingFunction: function(t) {
				this.indicatorStyle[c.style.transitionTimingFunction] = t
			},
			refresh: function() {
				this.transitionTime(),
				this.options.listenX && !this.options.listenY ? this.indicatorStyle.display = this.scroller.hasHorizontalScroll ? "block": "none": this.options.listenY && !this.options.listenX ? this.indicatorStyle.display = this.scroller.hasVerticalScroll ? "block": "none": this.indicatorStyle.display = this.scroller.hasHorizontalScroll || this.scroller.hasVerticalScroll ? "block": "none",
				this.scroller.hasHorizontalScroll && this.scroller.hasVerticalScroll ? (c.addClass(this.wrapper, "iScrollBothScrollbars"), c.removeClass(this.wrapper, "iScrollLoneScrollbar"), this.options.defaultScrollbars && this.options.customStyle && (this.options.listenX ? this.wrapper.style.right = "8px": this.wrapper.style.bottom = "8px")) : (c.removeClass(this.wrapper, "iScrollBothScrollbars"), c.addClass(this.wrapper, "iScrollLoneScrollbar"), this.options.defaultScrollbars && this.options.customStyle && (this.options.listenX ? this.wrapper.style.right = "2px": this.wrapper.style.bottom = "2px"));
				this.wrapper.offsetHeight;
				this.options.listenX && (this.wrapperWidth = this.wrapper.clientWidth, this.options.resize ? (this.indicatorWidth = i.max(i.round(this.wrapperWidth * this.wrapperWidth / (this.scroller.scrollerWidth || this.wrapperWidth || 1)), 8), this.indicatorStyle.width = this.indicatorWidth + "px") : this.indicatorWidth = this.indicator.clientWidth, this.maxPosX = this.wrapperWidth - this.indicatorWidth, "clip" == this.options.shrink ? (this.minBoundaryX = -this.indicatorWidth + 8, this.maxBoundaryX = this.wrapperWidth - 8) : (this.minBoundaryX = 0, this.maxBoundaryX = this.maxPosX), this.sizeRatioX = this.options.speedRatioX || this.scroller.maxScrollX && this.maxPosX / this.scroller.maxScrollX),
				this.options.listenY && (this.wrapperHeight = this.wrapper.clientHeight, this.options.resize ? (this.indicatorHeight = i.max(i.round(this.wrapperHeight * this.wrapperHeight / (this.scroller.scrollerHeight || this.wrapperHeight || 1)), 8), this.indicatorStyle.height = this.indicatorHeight + "px") : this.indicatorHeight = this.indicator.clientHeight, this.maxPosY = this.wrapperHeight - this.indicatorHeight, "clip" == this.options.shrink ? (this.minBoundaryY = -this.indicatorHeight + 8, this.maxBoundaryY = this.wrapperHeight - 8) : (this.minBoundaryY = 0, this.maxBoundaryY = this.maxPosY), this.maxPosY = this.wrapperHeight - this.indicatorHeight, this.sizeRatioY = this.options.speedRatioY || this.scroller.maxScrollY && this.maxPosY / this.scroller.maxScrollY),
				this.updatePosition()
			},
			updatePosition: function() {
				var t = this.options.listenX && i.round(this.sizeRatioX * this.scroller.x) || 0,
				e = this.options.listenY && i.round(this.sizeRatioY * this.scroller.y) || 0;
				this.options.ignoreBoundaries || (t < this.minBoundaryX ? ("scale" == this.options.shrink && (this.width = i.max(this.indicatorWidth + t, 8), this.indicatorStyle.width = this.width + "px"), t = this.minBoundaryX) : t > this.maxBoundaryX ? "scale" == this.options.shrink ? (this.width = i.max(this.indicatorWidth - (t - this.maxPosX), 8), this.indicatorStyle.width = this.width + "px", t = this.maxPosX + this.indicatorWidth - this.width) : t = this.maxBoundaryX: "scale" == this.options.shrink && this.width != this.indicatorWidth && (this.width = this.indicatorWidth, this.indicatorStyle.width = this.width + "px"), e < this.minBoundaryY ? ("scale" == this.options.shrink && (this.height = i.max(this.indicatorHeight + 3 * e, 8), this.indicatorStyle.height = this.height + "px"), e = this.minBoundaryY) : e > this.maxBoundaryY ? "scale" == this.options.shrink ? (this.height = i.max(this.indicatorHeight - 3 * (e - this.maxPosY), 8), this.indicatorStyle.height = this.height + "px", e = this.maxPosY + this.indicatorHeight - this.height) : e = this.maxBoundaryY: "scale" == this.options.shrink && this.height != this.indicatorHeight && (this.height = this.indicatorHeight, this.indicatorStyle.height = this.height + "px")),
				this.x = t,
				this.y = e,
				this.scroller.options.useTransform ? this.indicatorStyle[c.style.transform] = "translate(" + t + "px," + e + "px)" + this.scroller.translateZ: (this.indicatorStyle.left = t + "px", this.indicatorStyle.top = e + "px")
			},
			_pos: function(t, e) {
				0 > t ? t = 0 : t > this.maxPosX && (t = this.maxPosX),
				0 > e ? e = 0 : e > this.maxPosY && (e = this.maxPosY),
				t = this.options.listenX ? i.round(t / this.sizeRatioX) : this.scroller.x,
				e = this.options.listenY ? i.round(e / this.sizeRatioY) : this.scroller.y,
				this.scroller.scrollTo(t, e)
			},
			fade: function(t, e) {
				if (!e || this.visible) {
					clearTimeout(this.fadeTimeout),
					this.fadeTimeout = null;
					var n = t ? 250 : 500,
					i = t ? 0 : 300;
					t = t ? "1": "0",
					this.wrapperStyle[c.style.transitionDuration] = n + "ms",
					this.fadeTimeout = setTimeout(function(t) {
						this.wrapperStyle.opacity = t,
						this.visible = +t
					}.bind(this, t), i)
				}
			}
		},
		o.utils = c,
		"undefined" != typeof t && t.exports ? t.exports = o: e.IScroll = o
	} (window, document, Math)
},
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		function o(t, e, n) {
			this.showing = n || !1,
			this._show = t,
			this._hide = e
		}
		var r = n(49);
		o.prototype.show = function() {
			this.showing || (this._show.apply(this, arguments), this.showing = !0, this.fire("show"))
		},
		o.prototype.hide = function() {
			this.showing && (this._hide.apply(this, arguments), this.showing = !1, this.fire("hide"))
		},
		r.mixTo(o.prototype),
		i.exports = o
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		function o(t) {
			t = s.extend({
				autoDestroy: !0,
				lazyRender: !1,
				zIndex: null
			},
			t),
			this.init(t)
		}
		n(95);
		var r = n(47),
		s = n(43),
		a = n(93),
		c = n(97),
		l = r(document.body);
		s.inherits(o, a),
		o.prototype.init = function(t) {
			this.opt = t,
			this.dom = r(c(t));
			var e = this; ["touchstart", "tap", "click"].forEach(function(t) {
				e.dom.on(t,
				function(n) {
					e.fire(t, n)
				})
			}),
			null != t.zIndex && this.dom.css("z-index", t.zIndex),
			l.append(this.dom)
		},
		o.prototype._show = function() {
			this.dom.addClass("visible")
		},
		o.prototype._hide = function() {
			this.dom.removeClass("visible"),
			this.opt.autoDestroy && setTimeout(this.destroy.bind(this), 1e3)
		},
		o.prototype.destroy = function() {
			this.dom.remove(),
			this.fire("destroy")
		},
		o.create = function(t) {
			return new o(t)
		},
		i.exports = o
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e) {},
,
function(t, e) {
	t.exports = function(t) {
		var e = "";
		return e += '\n<div class="nuomi-mask"></div>'
	}
},
function(t, e) {
	t.exports = function(t) {
		var e = "";
		return e += '\n<div class="nuomi-popup">\n</div>'
	}
},
function(t, e) {
	t.exports = function(t) {
		function e(t) {
			return String(t).replace(/[<>&"]/g,
			function(t) {
				return i[t]
			})
		}
		var n, i = {
			"<": "&lt;",
			">": "&gt;",
			"&": "&amp;",
			'"': "&quot;"
		},
		o = "";
		return o += '\n<div class="nuomi-toast">\n',
		n = t.text,
		null != n && (o += e(n)),
		o += "\n</div>"
	}
},
,
,
,
,
,
,
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		n(107);
		var o = n(47),
		r = n(83),
		s = n(110),
		a = o(s()),
		c = o(document.body),
		l = window.innerHeight,
		u = 60,
		h = function() {
			r.add(function() {
				c.scrollTop() < l ? a.hide() : a.show()
			}),
			a.on("click",
			function(t) {
				window.scrollTo(0, 0)
			})
		},
		d = function(t) {
			a.css({
				bottom: t + u + "px"
			})
		},
		p = function() {
			c.append(a),
			d(0),
			h()
		};
		i.exports = {
			init: p,
			adjustBottom: d
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e) {},
,
,
function(t, e) {
	t.exports = function(t) {
		var e = "";
		
	}
},
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		var o = n(47),
		r = n(85),
		s = function(t, e) {
			var n = [];
			for (var i in e) e.hasOwnProperty(i) && n.push([i, e[i]].map(encodeURIComponent).join("="));
			return n = n.join("&"),
			t + (t.indexOf("?") >= 0 ? "&": "?") + n
		},
		a = function(t, e, n) {
			o.ajax({
				type: "GET",
				url: t,
				beforeSend: function(t) {
					t.setRequestHeader("X-Bd-Bwsc", e)
				},
				success: n
			})
		},
		c = function(t, e, n) {
			var i = s(window.location.search, {
				_: +new Date
			}),
			o = [t, "query", r.encode(i)].join("|");
			a(i, o,
			function(t) {
				n(t.length === e, t)
			})
		},
		l = function(t, e) {
			var n = s("", {
				_: +new Date,
				length: e.length,
				content: e
			}),
			i = [t, "log"].join("|");
			a(n, i)
		};
		e.init = function(t, e) {
			Math.random() < .5 || (e = e || 97, o(window).on("load",
			function() {
				c(t, e,
				function(e, n) {
					e || l(t, n)
				})
			}))
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
,
function(t, e, n) {
	var i;
	i = function(t, e, n) {
		n.exports = function() {
			function t(t) {
				try {
					return JSON.parse(t)
				} catch(e) {
					return t
				}
			}
			var e = window.localStorage,
			n = function() {
				try {
					return e.setItem("t", "t"),
					!0
				} catch(t) {
					return ! 1
				}
			} (),
			i = "__val",
			o = "__exp",
			r = function(t, r, s) {
				if (n) {
					if ("string" != typeof r && "object" != typeof r) throw new Error("`" + r + "` is not the valid value, only support String or Object");
					if ("number" == typeof s) {
						var a = {};
						a[i] = r,
						a[o] = +Date.now() + 1e3 * s * 3600 * 24;
						try {
							e.setItem(t, JSON.stringify(a))
						} catch(c) {
							alert(c)
						}
					} else e.setItem(t, "object" == typeof r ? JSON.stringify(r) : r);
					return r
				}
			},
			s = function(t) {
				n && e.removeItem(t)
			},
			a = function(r) {
				if (n) {
					var a = t(e.getItem(r));
					return a && "object" == typeof a && a.hasOwnProperty(o) ? a[o] > +Date.now() ? a[i] : (s(r), null) : a
				}
			},
			c = function() {
				n && e.clear()
			},
			l = function() {
				if (n) {
					for (var t = {},
					i = [], o = 0, r = e.length; r > o; o++) i.push(e.key(o));
					for (o = 0, r = i.length; r > o; o++) {
						var s = i[o],
						c = a(s);
						null !== c && (t[s] = c)
					}
					return t
				}
			},
			u = function() {
				n && l()
			};
			return u(),
			{
				available: n,
				setItem: r,
				getItem: a,
				removeItem: s,
				clear: c,
				getAll: l,
				cleanup: u
			}
		} ()
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		n(238);
		var o = n(47),
		r = n(43),
		s = n(89),
		a = n(240);
		e.create = function(t, e) {
			t = "string" == typeof t ? {
				text: t
			}: t,
			e = e || r.doNothing,
			t = r.extend({
				text: "",
				confirmText: "确定"
			},
			t);
			var n = o(a(t)),
			i = s.create(r.extend(t, {
				content: n,
				autoCenter: !0
			}));
			return i.dom.on("click", '[data-role="confirm-btn"]',
			function() {
				i.hide(),
				e()
			}),
			i
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e) {},
,
function(t, e) {
	t.exports = function(t) {
		var e, n = "";
		n += "\n";
		var i = "";
		if (n += "\n", t.width) {
			n += "\n";
			var i = 'style="width:' + t.width + '";';
			n += "\n"
		}
		return n += '\n<div class="nuomi-alert" ',
		null != i && (n += i),
		n += '>\n<p class="text-content">\n',
		e = t.text,
		null != e && (n += e),
		n += '\n</p>\n<p class="footer-content">\n<button class="confirm-btn" data-role="confirm-btn">',
		e = t.confirmText,
		null != e && (n += e),
		n += "</button>\n</p>\n</div>"
	}
},
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		var o = n(47),
		r = n(45),
		s = n(294),
		a = "action=search&element_type=filter",
		c = a + "&area=searchFuc&element=clearInput",
		l = a + "&area=header&element=###",
		u = {
			wrapper: null,
			options: {},
			active: !1,
			initSug: function() {
				var t = this.options,
				e = this.doms,
				n = t.hotword,
				i = this;
				n && "function" != typeof n && (n.list = (n.list || []).slice(0, 9)),
				this.sug = s.suggest({
					wrapper: e.suggestionWrapper,
					input: e.input,
					onclose: i.disactive.bind(i),
					hotword: n
				})
			},
			init: function(t, e) {
				t = o(t),
				t.length && (this.doms = {
					wrapper: t,
					form: t.find('[data-role="form"]'),
					clear: t.find('[data-role="clear"]'),
					submit: t.find('[data-role="submit"]'),
					cancel: t.find('[data-role="cancel"]'),
					input: t.find('[data-role="input"]'),
					suggestionWrapper: t.find('[data-role="suggestion-wrapper"]')
				},
				this.options = e || {},
				this.initSug(), this.bindEvent())
			},
			close: function() {
				this.sug.close()
			},
			bindEvent: function() {
				var t = this.doms,
				e = this;
				t.input.on("focus click",
				function() {
					e.active = !0,
					t.form.addClass("active")
				}),
				t.cancel.on("click",
				function() {
					e.close()
				}),
				t.input.on("input",
				function() {
					t.clear[this.value ? "show": "hide"]()
				}),
				t.clear.on("tap",
				function() {
					r.send(c),
					t.input.val("").trigger("input").focus()
				}),
				t.form.on("submit",
				function(n) {
					n.preventDefault();
					var i = t.input.val(),
					o = l.replace("###", i || "noKeyWord");
					r.send(o),
					e.sug.search(i)
				})
			}
		};
		i.exports = u
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		n(295);
		var o = n(47),
		r = n(45),
		s = n(39),
		a = n(298),
		c = "/webapp/tuan/list",
		l = "/webapp/tuan/sug",
		u = "action=search&element_type=filter",
		h = {
			hotwords: n(299),
			histories: n(300),
			suggestions: n(301)
		},
		d = function(t, e, n) {
			return e = e || c,
			"" === t.trim() ? void r.location(e + "?" + s.reject("kw")) : (a.add(t), void r.location(e + "?" + s.create({
				kw: t,
				rid: n || ""
			})))
		},
		p = function(t, e) {
			var n = e.list;
			if (n.length) {
				var i = [];
				n.forEach(function(t, e) {
					var n = Math.floor(e / 3); (i[n] = i[n] || []).push(t)
				}),
				t.html(h.hotwords({
					hotwords: i,
					rid: e.rid
				})),
				t.show()
			}
		},
		f = function(t, e) {
			e.length && (t.html(h.histories({
				histories: e
			})), t.show())
		},
		g = function(t, e) {
			e = e ||
			function() {},
			o.ajax({
				type: "get",
				url: l,
				data: {
					kw: t
				},
				dataType: "json",
				success: function(t) {
					return t.errno ? void e(t.msg) : void e(null, t.data)
				},
				error: function(t, n, i) {
					e(i || "xhr error!")
				}
			})
		},
		m = function(t, e) {
			var n = e.data.slice(0, 7);
			n.length && (t.html(h.suggestions({
				suggestions: n,
				rid: e.rid
			})), t.show(), t.find(".suggestion-item").each(function() {
				for (var t = o(this), e = t.find("[data-role=suggestion-text]"), n = t.find("[data-role=suggestion-tags]"), i = t.find("[data-role=suggestion-tip]"), r = t.width() - (12 + e.width()), s = n.width(); s > 0 && s > r;) {
					var a = n.children("*:last-child");
					s -= a.width(),
					a.remove()
				}
				n.children().length || i.show()
			}))
		},
		v = function(t) {
			t = o.extend({
				baseURL: c,
				onclose: function() {}
			},
			t),
			t.input.on("input focus click",
			function() {
				var e = t.input.val();
				if (t.wrapper.html(""), e) return void g(e,
				function(e, n) {
					if (e) throw e;
					m(t.wrapper, n)
				});
				var n = a.get();
				return n.length ? void f(t.wrapper, n) : "function" == typeof t.hotword ? void t.hotword(function(e) {
					p(t.wrapper, e)
				}) : void(t.hotword && p(t.wrapper, t.hotword))
			});
			var e = function(e) {
				setTimeout(function() {
					t.wrapper.hide()
				},
				300),
				t.onclose()
			},
			n = function() {
				r.send("action=search&area=searchFuc&element=close"),
				e()
			},
			i = function(n, i) {
				return e(),
				d(n, t.baseURL, i)
			};
			return t.wrapper.on("click", '[data-role="hotword-block"] [data-role="close"]', n),
			t.wrapper.on("click", '[data-role="hotword-block"] [data-role="hotword-item"]',
			function() {
				var t = o(this),
				e = t.attr("data-keyword");
				r.send(u + "&area=hotWord&element=" + e),
				i(e, t.attr("data-rid"))
			}),
			t.wrapper.on("click", '[data-role="history-block"] [data-role="close"]', n),
			t.wrapper.on("click", '[data-role="history-block"] [data-role="clean"]',
			function() {
				r.send(u + "&area=searchFuc&element=clear"),
				a.set([]),
				t.input.focus()
			}),
			t.wrapper.on("click", '[data-role="history-block"] [data-role="history-item"]',
			function() {
				var t = o(this).attr("data-keyword");
				r.send(u + "&area=history&element=" + t),
				i(t)
			}),
			t.wrapper.on("click", '[data-role="suggestion-block"] [data-role="close"]', n),
			t.wrapper.on("click", '[data-role="suggestion-block"] [data-role="suggestion-item"]',
			function() {
				var t = o(this),
				e = t.attr("data-keyword");
				r.send(u + "&area=sug&element=" + e),
				i(t.attr("data-keyword"), t.attr("data-rid"))
			}),
			{
				close: n,
				search: i
			}
		};
		i.exports = {
			suggest: v
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e) {},
,
,
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		var o = n(221),
		r = {
			key: "search_history",
			get: function() {
				var t = o.getItem(this.key);
				return Array.isArray(t) ? t: []
			},
			set: function(t) {
				t = t.slice(0, 10),
				o.setItem(this.key, t, 365)
			},
			add: function(t) {
				var e = this.remove(t);
				e.unshift(t),
				this.set(e)
			},
			remove: function(t) {
				var e = this.get();
				return e = e.filter(function(e) {
					return e !== t
				})
			}
		};
		i.exports = r
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e) {
	t.exports = function(t) {
		function e(t) {
			return String(t).replace(/[<>&"]/g,
			function(t) {
				return i[t]
			})
		}
		var n, i = {
			"<": "&lt;",
			">": "&gt;",
			"&": "&amp;",
			'"': "&quot;"
		},
		o = "";
		o += '\n<div class="hotword-block" data-role="hotword-block">\n<ul class="hotword-list">\n';
		for (var r = t.hotwords,
		s = 0; s < r.length; s++) {
			var a = r[s];
			o += '\n<li class="hotword-line">\n';
			for (var c = 0; c < a.length; c++) {
				var l = a[c];
				o += '\n<a class="hotword-item" href="javascript:;" data-role="hotword-item" data-keyword="',
				null != l && (o += e(l)),
				o += '" data-rid="',
				n = t.rid,
				null != n && (o += e(n)),
				o += '">',
				null != l && (o += e(l)),
				o += "</a>\n"
			}
			o += "\n</li>\n"
		}
		return o += '\n</ul>\n<a class="close-btn" data-role="close">关闭</a>\n</div>\n'
	}
},
function(t, e) {
	t.exports = function(t) {
		function e(t) {
			return String(t).replace(/[<>&"]/g,
			function(t) {
				return n[t]
			})
		}
		var n = {
			"<": "&lt;",
			">": "&gt;",
			"&": "&amp;",
			'"': "&quot;"
		},
		i = "";
		i += '\n<div class="history-block" data-role="history-block">\n<ul class="history-list">\n';
		for (var o = t.histories,
		r = 0; r < o.length; r++) {
			var s = o[r];
			i += '\n<li class="history-line">\n<a class="history-item" href="javascript:;" data-role="history-item" data-keyword="',
			null != s && (i += e(s)),
			i += '">',
			null != s && (i += e(s)),
			i += "</a>\n</li>\n"
		}
		return i += '\n</ul>\n<div class="btn-line">\n<a class="btn clean-btn" data-role="clean">清除历史记录</a>\n<a class="btn close-btn" data-role="close">关闭</a>\n</div>\n</div>'
	}
},
function(t, e) {
	t.exports = function(t) {
		function e(t) {
			return String(t).replace(/[<>&"]/g,
			function(t) {
				return i[t]
			})
		}
		var n, i = {
			"<": "&lt;",
			">": "&gt;",
			"&": "&amp;",
			'"': "&quot;"
		},
		o = "";
		o += '\n<div class="suggestion-block" data-role="suggestion-block">\n<ul class="suggestion-list">\n';
		for (var r = t.suggestions,
		s = 0; s < r.length; s++) {
			var a = r[s];
			if (o += '\n<li class="suggestion-line">\n<a class="suggestion-item" href="javascript:;" data-role="suggestion-item" data-keyword="', n = a.t, null != n && (o += e(n)), o += '" data-rid="', n = t.rid, null != n && (o += e(n)), o += '">\n<span data-role="suggestion-text">', n = a.t, null != n && (o += e(n)), o += '</span>\n<span class="suggestion-tip" data-role="suggestion-tip">约<em class="num">', n = a.c, null != n && (o += e(n)), o += "</em>单</span>\n", a.seg) {
				o += '\n<dl class="suggestion-tags" data-role="suggestion-tags">\n';
				for (var c = crox.helpers.array_slice(a.seg, 0, 3), l = 0; l < c.length; l++) {
					var u = c[l];
					o += '\n<dd class="suggestion-tag-item" data-role="suggestion-tag-item">\n',
					n = u.st,
					null != n && (o += e(n)),
					o += "\n</dd>\n"
				}
				o += "\n</dl>\n"
			}
			o += "\n</a>\n</li>\n"
		}
		return o += '\n</ul>\n<a class="close-btn" data-role="close">关闭</a>\n</div>\n'
	}
},
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		function o(t, e) {
			e = e || {};
			var n, i = e.data || {},
			o = e.isShow,
			l = e.autoClose || 0,
			u = e.noClose || !1,
			h = e.expires || 7,
			d = e.cookieName,
			p = e.cookieValue,
			f = (e.ratio || 14.0625) + "%",
			g = r(document.body);
			if (o && i.img) {
				var m = function() {
					s.set(d, p, {
						expires: h
					}),
					g.css("padding-bottom", 0),
					a.adjustBottom(0),
					n.remove()
				},
				v = function() {
					t ? r(t).html(c(i)) : g.append(c(i)).css("padding-bottom", f),
					n = r("#j-na-download"),
					n.css("padding-top", f),
					t || (a.adjustBottom(n.height()), n.addClass("fixed"));
					var e = n.find("[data-role=close]");
					if (!u && e.show(), l > 0) var o = setTimeout(m, l);
					e.on("click",
					function(t) {
						t.preventDefault(),
						o && (clearTimeout(o), o = null),
						m()
					})
				};
				s.get(d) || v()
			}
		}
		n(303);
		var r = n(47),
		s = n(48),
		a = n(106),
		c = n(306);
		i.exports = {
			init: o
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e) {},
,
,
function(t, e) {
	t.exports = function(t) {
		function e(t) {
			return String(t).replace(/[<>&"]/g,
			function(t) {
				return i[t]
			})
		}
		var n, i = {
			"<": "&lt;",
			">": "&gt;",
			"&": "&amp;",
			'"': "&quot;"
		},
		o = "";
		return o += '\n<div class="na-download" id="j-na-download" mon="',
		n = t.mon,
		null != n && (o += e(n)),
		o += '">\n<a href="',
		n = t.url,
		null != n && (o += e(n)),
		o += '" class="link" style="background-image:url(',
		n = t.img,
		null != n && (o += e(n)),
		o += ');" mon="element=',
		n = t.url,
		null != n && (o += e(n)),
		o += '"></a>\n<span class="close" data-role="close"></span>\n</div>\n'
	}
},
function(t, e) {},
,
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		n(310);
		var o = n(47),
		r = n(293),
		s = n(43),
		a = Object.create(r);
		s.extend(a, {
			initSearch: function(t, e) {
				this.init(t, e),
				this.bindEvents()
			},
			disactive: function() {
				var t = this.doms;
				this.active = !1,
				t.input.blur(),
				t.cancel.hide(),
				t.form.removeClass("active")
			},
			bindEvents: function() {
				var t = this,
				e = this.doms;
				t.bindEvent(),
				e.input.on("focus click",
				function() {
					var t = function() {
						e.form.hasClass("active") && e.cancel.show()
					};
					return s.isSystem("Android") ? void setTimeout(t, 300) : void e.form.one("transitionend", t)
				}),
				o(document.body).on("touchstart",
				function(e) {
					t.active && !t.doms.wrapper[0].contains(e.target) && (e.preventDefault(), t.close())
				})
			}
		}),
		e.init = function(t, e) {
			a.initSearch(t, e)
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e) {},
,
,
,
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		n(315);
		var o = n(47),
		r = n(318),
		s = n(48),
		a = n(45),
		c = n(319),
		l = function(t, e) {
			if (t = o(t), !e.list.length || s.get("bannerHidden")) return void t.hide();
			t.html(c(e)),
			t.on("click", "a",
			function() {
				return a.location(o(this).attr("href")),
				!1
			});
			var n = t.find('[data-role="sliders"]'),
			i = t.find('[data-role="remove"]'),
			l = t.find('[data-role="pointers"]');
			r(n[0], {
				startSlide: 0,
				continuous: !0,
				auto: e.auto,
				pointers: l[0]
			}),
			i.on("click",
			function(e) {
				var n = new Date;
				n.setHours(24),
				n.setMinutes(0),
				n.setSeconds(0),
				n.setMilliseconds(0),
				s.set("bannerHidden", "true", {
					expires: n,
					raw: 0
				}),
				t.hide()
			})
		};
		i.exports = {
			init: l
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e) {},
,
,
function(t, e) {
	var n = function(t) {
		t.parentNode && t.parentNode.removeChild(t)
	};
	t.exports = function(t, e) {
		"use strict";
		function i(t) {
			var e = y.children.length;
			for (t %= e; e--;) y.children[e].className = e === t ? "active": ""
		}
		function o() {
			if (f = t.children, v = f.length, !v) return void n(t.parentNode);
			if (e.continuous && 3 > v) {
				for (var i = [], o = 0, r = f.length; r > o; o++) i[o] = f[o].cloneNode(!0),
				i[o].setAttribute("data-fake", "true"),
				t.appendChild(i[o]);
				f = t.children,
				v = f.length,
				x = !0
			}
			g = new Array(v),
			m = t.getBoundingClientRect().width || t.offsetWidth;
			for (var s = v; s--;) {
				var u = f[s];
				u.setAttribute("data-index", s),
				l(s, b > s ? -m: s > b ? m: 0, 0)
			}
			e.continuous && (0 === b && l(a(b - 1), -m, 0), b === v && l(a(b + 1), m, 0)),
			t.style.visibility = "visible",
			c(0)
		}
		function r() {
			e.continuous ? c(b - 1) : b && c(b - 1)
		}
		function s() {
			e.continuous ? c(b + 1) : b < f.length - 1 && c(b + 1)
		}
		function a(t) {
			return (f.length + t % f.length) % f.length
		}
		function c(t, n) {
			if (b != t) {
				var o = Math.abs(b - t) / (b - t);
				if (e.continuous) {
					var r = o;
					o = -g[a(t)] / m,
					o !== r && (t = -o * f.length + t)
				}
				for (var s = Math.abs(b - t) - 1; s--;) l(a((t > b ? t: b) - s - 1), m * o, 0);
				t = a(t),
				l(b, m * o, n || S),
				l(t, 0, n || S),
				e.continuous && l(a(t - o), -(m * o), 0),
				b = t,
				i(b),
				w(e.callback && e.callback(b, f[b]))
			}
		}
		function l(t, e, n) {
			u(t, e, n),
			g[t] = e
		}
		function u(t, e, n) {
			var i = f[t],
			o = i && i.style;
			o && (o.webkitTransitionDuration = o.transitionDuration = n + "ms", o.webkitTransform = "translate(" + e + "px,0)translateZ(0)", o.transform = "translateX(" + e + "px)")
		}
		function h() {
			T = setTimeout(s, C)
		}
		function d() {
			C = 0,
			clearTimeout(T)
		}
		if (e = e || {},
		t && t.nodeType && 0 !== t.children.length) {
			var p = {
				touch: "ontouchstart" in window || window.DocumentTouch && document instanceof DocumentTouch,
				transitions: function(t) {
					var e = ["transitionProperty", "WebkitTransition"];
					for (var n in e) if (void 0 !== t.style[e[n]]) return ! 0;
					return ! 1
				} (document.createElement("swipe"))
			};
			if (!p.touch || !p.transitions || 1 === t.children.length) return void(t.style.visibility = "visible");
			var f, g, m, v, y, w = function(t) {
				setTimeout(t, 0)
			},
			x = !1,
			b = parseInt(e.startSlide, 10) || 0,
			S = e.speed || 300;
			e.continuous = void 0 !== e.continuous ? e.continuous: !0,
			function() {
				if (e.pointers) {
					var n = t.children.length,
					i = n;
					for (y = e.pointers; i--;) {
						var o = document.createElement("i");
						n - i - 1 === b && (o.className = "active"),
						y.appendChild(o)
					}
				}
			} ();
			var T, C = e.auto || 0;
			o(),
			C && h();
			var k, E, A = {},
			P = {};
			return E = {
				handleEvent: function(t) {
					switch (t.type) {
					case "touchstart":
						this.start(t);
						break;
					case "touchmove":
						this.move(t);
						break;
					case "touchend":
						w(this.end(t));
						break;
					case "resize":
						w(o.call());
						break;
					case "webkitTransitionEnd":
					case "transitionend":
						w(this.transitionEnd(event))
					}
				},
				start: function(e) {
					var n = e.touches[0];
					A = {
						x: n.pageX,
						y: n.pageY,
						time: +new Date
					},
					k = void 0,
					P = {},
					t.addEventListener("touchmove", this, !1),
					t.addEventListener("touchend", this, !1)
				},
				move: function(t) {
					if (! (t.touches.length > 1 || t.scale && 1 !== t.scale)) {
						var n = t.touches[0];
						P = {
							x: n.pageX - A.x,
							y: n.pageY - A.y
						},
						"undefined" == typeof k && (k = !!(k || Math.abs(P.x) < Math.abs(P.y))),
						k || (t.preventDefault(), d(), e.continuous ? (u(a(b - 1), P.x + g[a(b - 1)], 0), u(b, P.x + g[b], 0), u(a(b + 1), P.x + g[a(b + 1)], 0)) : (P.x = P.x / (!b && P.x > 0 || b == f.length - 1 && P.x < 0 ? Math.abs(P.x) / m + 1 : 1), u(b - 1, P.x + g[b - 1], 0), u(b, P.x + g[b], 0), u(b + 1, P.x + g[b + 1], 0)))
					}
				},
				end: function(n) {
					var o = +new Date - A.time,
					r = Number(o) < 250 && Math.abs(P.x) > 20 || Math.abs(P.x) > m / 2,
					s = !b && P.x > 0 || b == f.length - 1 && P.x < 0;
					e.continuous && (s = !1);
					var c = P.x < 0;
					k || (r && !s ? (c ? (e.continuous ? (l(a(b - 1), -m, 0), l(a(b + 2), m, 0)) : l(b - 1, -m, 0), l(b, g[b] - m, S), l(a(b + 1), g[a(b + 1)] - m, S), b = a(b + 1)) : (e.continuous ? (l(a(b + 1), m, 0), l(a(b - 2), -m, 0)) : l(b + 1, m, 0), l(b, g[b] + m, S), l(a(b - 1), g[a(b - 1)] + m, S), b = a(b - 1)), i(b), e.callback && e.callback(b, f[b])) : e.continuous ? (l(a(b - 1), -m, S), l(b, 0, S), l(a(b + 1), m, S)) : (l(b - 1, -m, S), l(b, 0, S), l(b + 1, m, S))),
					t.removeEventListener("touchmove", E, !1),
					t.removeEventListener("touchend", E, !1)
				},
				transitionEnd: function(t) {
					parseInt(t.target.getAttribute("data-index"), 10) == b && (e.auto && (clearTimeout(T), T = setTimeout(s, e.auto)), e.transitionEnd && e.transitionEnd.call(event, b, f[b]))
				}
			},
			t.addEventListener("touchstart", E, !1),
			window.addEventListener("resize", E, !1),
			t.addEventListener("webkitTransitionEnd", E, !1),
			t.addEventListener("transitionend", E, !1),
			{
				next: function() {
					d(),
					s()
				},
				prev: function() {
					d(),
					r()
				},
				slide: function(t, e) {
					d(),
					c(t, e)
				},
				pos: function() {
					return b
				},
				len: function() {
					return x ? 2 : f.length
				}
			}
		}
	}
},
function(t, e) {
	t.exports = function(t) {
		function e(t) {
			return String(t).replace(/[<>&"]/g,
			function(t) {
				return i[t]
			})
		}
		var n, i = {
			"<": "&lt;",
			">": "&gt;",
			"&": "&amp;",
			'"': "&quot;"
		},
		o = "";
		o += '\n<div class="sliders-wrapper">\n<ul data-role="sliders" class="sliders">\n';
		for (var r = t.list,
		s = 0; s < r.length; s++) {
			var a = r[s];
			o += '\n<li class="holder" style="background-image: url(',
			n = a.imgUrl,
			null != n && (o += e(n)),
			o += ');" data-img-url="',
			n = a.imgUrl,
			null != n && (o += e(n)),
			o += '">\n<a class="link" href="',
			n = a.linkUrl,
			null != n && (o += e(n)),
			o += '" mon="element=',
			n = a.linkUrl,
			null != n && (o += e(n)),
			o += '"></a>\n</li>\n'
		}
		return o += "\n</ul>\n",
		t.removable && (o += '\n<i data-role="remove" class="remove"></i>\n'),
		o += '\n<div data-role="pointers" class="pointers"></div>\n</div>'
	}
},
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		n(321);
		var o = n(47),
		r = n(318),
		s = function() {
			new r(o("#catg-wraps")[0], {
				continuous: !1,
				auto: 0,
				pointers: o("#catg-pointers")[0]
			})
		};
		i.exports = {
			init: s
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e) {},
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		n(358);
		var o = function() {};
		i.exports = {
			init: o
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e) {},
,
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		function o(t, e) {
			var n = e.topten && e.topten.url || "",
			i = e.topten && e.topten.pic_url,
			o = e.cityInfo && e.cityInfo.areaId || "",
			d = e.cityInfo && e.cityInfo.net_type,
			p = !!i,
			f = 2e3,
			g = !1,
			m = "http://t10.nuomi.com/webapp/tuan/indexajax";
			t = a(t);
			var v = {
				header: t.find(".hd"),
				link: t.find(".link"),
				countdown: t.find(".countdown"),
				content: t.find(".content")
			},
			y = function(t, e) {
				var n = [];
				a.each(e,
				function(t, e) {
					n.push(1e3 * e.starttime, 1e3 * e.endtime)
				}),
				n[4] = n[0] + 864e5;

				var i = [];
				a.each(n,
				function(t, e) {
					i[i.length] = new Date(e).getHours()
				}),
				t = 1e3 * t || 0;
				var o = Date.parse(new Date),
				s = function() {
					for (var e = "",
					s = 0,
					a = n.length; a > s; s++) if (t < n[s]) {
						e = s % 2 ? "距结束": "距开始",
						p && (e = i[s] + (s % 2 ? "点结束": "点开抢"));
						break
					}
					var c = (n[s] - t) / 1e3;
					v.countdown.html(h.countdown({
						hour: r(parseInt(c / 3600, 10)),
						minute: r(parseInt(c % 3600 / 60, 10)),
						second: r(c % 60),
						status: e
					}));
					var l = Date.parse(new Date);
					t += l - o,
					o = l
				};
				setInterval(s, 1e3)
			},
			w = function(e) {
				if (e.list.length < 3) return void t.remove();
				if (v.link.attr("href", n), y(e.current_time, e.period), p) {
					switch (t.addClass("index-topten-exp").show(), +d) {
					case 0:
					case 2:
						i = s(i, 350, 50);
						break;
					case 3:
						i = s(i, 350, 80)
					}
					var o = '<div class="pic" style="background-image:url(' + i + ');"></div>';
					v.content.html(o)
				} else t.addClass("index-topten").show(),
				v.content.html(h.content(e)),
				c.init("img", {
					context: v.content[0],
					supportAsync: !0,
					dataAttribute: window.devicePixelRatio > 1 ? "src2x": "src"
				})
			},
			x = function() {
				var e = n.match(/\?(.+)/);
				e = (e ? e[1] + "&": "") + "areaId=" + o,
				a.ajax({
					type: "GET",
					url: m,
					data: e,
					dataType: "jsonp",
					jsonpCallback: "jsonp",
					success: function(t) {
						w(t.data)
					},
					error: function() {
						t.remove()
					}
				})
			},
			b = function(t, e) {
				if (!g) {
					if (g = !0, t) console.log(t);
					else {
						var i = [e.coords.latitude, e.coords.longitude].join(",");
						n += (n.indexOf("?") > -1 ? "&": "?") + "location=" + encodeURIComponent(i)
					}
					x()
				}
			},
			S = function() {
				u.getPosition({
					needAddress: !1
				},
				b),
				setTimeout(function() {
					b(new Error("Time out!"))
				},
				f)
			},
			T = function() {
				l.addMonToDataSrc("sid"),
				v.content.on("tap", ".goods",
				function(t) {
					l.send(this.getAttribute("mon"))
				}),
				v.content.on("tap", ".pic",
				function(t) {
					l.send("area=selectbarnd&element=toptenExp&position=2&sid=74")
				}),
				v.header.on("tap",
				function(t) {
					var e = "area=selectbarnd&element=more";
					p && (e = "area=selectbarnd&element=toptenExp&position=1&sid=74"),
					l.send(e)
				})
			};
			S(),
			T()
		}
		function r(t) {
			return 10 > t ? "0" + t: t
		}
		function s(t, e, n) {
			return "http://map.baidu.com/maps/services/thumbnails?width=" + (window.devicePixelRatio > 1 ? 2 * e: e) + "&src=" + t + "&quality=" + n
		}
		n(361);
		var a = n(47),
		c = n(82),
		l = n(45),
		u = n(60),
		h = {
			content: n(363),
			countdown: n(364)
		};
		i.exports = {
			init: o
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e) {},
,
function(t, e) {
	t.exports = function(t) {
		function e(t) {
			return String(t).replace(/[<>&"]/g,
			function(t) {
				return i[t]
			})
		}
		var n, i = {
			"<": "&lt;",
			">": "&gt;",
			"&": "&amp;",
			'"': "&quot;"
		},
		o = "";
		o += "\n";
		var r = crox.helpers.array_slice(t.list, 0, 3);
		o += "\n";
		for (var s = 0; s < r.length; s++) {
			var a = r[s];
			o += '\n<div class="goods" mon="area=selectbarnd&element=',
			n = a.deal_id,
			null != n && (o += e(n)),
			o += "&position=",
			n = s + 1,
			null != n && (o += e(n)),
			o += '">\n<img src="/static/img/img_placeholder_small.png" data-src="',
			n = a.image,
			null != n && (o += e(n)),
			o += '" data-src2x="',
			n = a.image,
			null != n && (o += e(n)),
			o += '" alt="',
			n = a.brand,
			null != n && (o += e(n)),
			o += '" />\n<p class="title">',
			n = a.brand,
			null != n && (o += e(n)),
			o += '</p>\n<div class="price">\n<span class="price-active">\n',
			"" == a.marketing_price ? (o += "\n", n = a.current_price / 100, null != n && (o += e(n)), o += "\n") : (o += "\n", n = a.marketing_price / 100, null != n && (o += e(n)), o += "\n"),
			o += '\n</span>\n<del class="price-origin">',
			n = a.market_price / 100,
			null != n && (o += e(n)),
			o += "</del>\n</div>\n</div>\n"
		}
		return o += "\n"
	}
},
function(t, e) {
	t.exports = function(t) {
		function e(t) {
			return String(t).replace(/[<>&"]/g,
			function(t) {
				return i[t]
			})
		}
		var n, i = {
			"<": "&lt;",
			">": "&gt;",
			"&": "&amp;",
			'"': "&quot;"
		},
		o = "";
		return o += '<div class="status">',
		n = t.status,
		null != n && (o += e(n)),
		o += '</div>\n<i class="hour">',
		n = t.hour,
		null != n && (o += e(n)),
		o += '</i>\n<span class="dot">:</span>\n<i class="minute">',
		n = t.minute,
		null != n && (o += e(n)),
		o += '</i>\n<span class="dot">:</span>\n<i class="second">',
		n = t.second,
		null != n && (o += e(n)),
		o += "</i>"
	}
},
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		n(366);
		var o = n(47),
		r = n(368),
		s = function(t, e) {
			t = o(t),
			e.data && t.html(r({
				list: e.data
			}));
			var i = t.find('[data-role="swiper-container"]');
			if (i.length) {
				var s = i.find(".j-swiper-slide"),
				a = s.children();
				s.css("width", a.length * a.first().width() + 10 + "px"),
				n.e(6,
				function(t) {
					var e = [t(144)]; (function(t) {
						new t(i[0], {
							scrollContainer: !0,
							wrapperClass: "j-swiper-wrapper",
							slideClass: "j-swiper-slide",
							autoResize: !1
						})
					}).apply(null, e)
				})
			}
		};
		i.exports = {
			init: s
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e) {},
,
function(t, e) {
	t.exports = function(t) {
		function e(t) {
			return String(t).replace(/[<>&"]/g,
			function(t) {
				return i[t]
			})
		}
		var n, i = {
			"<": "&lt;",
			">": "&gt;",
			"&": "&amp;",
			'"': "&quot;"
		},
		o = "";
		o += '\n<div class="index-activity-static" mon="area=staticAd">\n';
		for (var r = t.list,
		s = 0; s < r.length; s++) {
			var a = r[s];
			o += "\n";
			var c = "layout-more" == a.layout;
			if (o += "\n", c) {
				o += '\n<div class="activity-block" data-role="swiper-container">\n<div class="j-swiper-wrapper">\n<ul class="j-swiper-slide type-',
				n = a.adv_type,
				null != n && (o += e(n)),
				o += " ",
				n = a.layout,
				null != n && (o += e(n)),
				o += '">\n';
				for (var l = a.blocks,
				u = 0; u < l.length; u++) {
					var h = l[u];
					o += "\n",
					function(t) {
						o += "\n\n";
						var i = t.index || 0;
						o += '\n<a href="',
						n = t.link,
						null != n && (o += e(n)),
						o += '" class="activity-item index-',
						null != i && (o += e(i)),
						o += '" mon="element=',
						n = t.link,
						null != n && (o += e(n)),
						o += "&position=",
						null != i && (o += e(i)),
						o += '">\n<li>\n<h5 class="activity-name">',
						n = t.name,
						null != n && (o += e(n)),
						o += '</h5>\n<p class="activity-desc">',
						n = t.desc,
						null != n && (o += e(n)),
						o += '</p>\n<img class="activity-img" src="',
						n = t.img,
						null != n && (o += e(n)),
						o += '" alt="',
						n = t.name,
						null != n && (o += e(n)),
						o += '">\n</li>\n</a>\n'
					} ({
						name: h.advName,
						desc: h.advDesc,
						img: h.img,
						index: u,
						link: h.cont
					}),
					o += "\n"
				}
				o += "\n</ul>\n</div>\n</div>\n"
			} else {
				if (o += '\n<div class="activity-block" mon="element_type=', n = a.adv_type, null != n && (o += e(n)), o += '">\n<ul class="type-', n = a.adv_type, null != n && (o += e(n)), o += " ", n = a.layout, null != n && (o += e(n)), o += '">\n', 10 == a.adv_type) o += "\n",
				function(t) {
					o += "\n\n";
					var i = t.index || 0;
					o += '\n<a href="',
					n = t.link,
					null != n && (o += e(n)),
					o += '" class="activity-item index-',
					null != i && (o += e(i)),
					o += '" mon="element=',
					n = t.link,
					null != n && (o += e(n)),
					o += "&position=",
					null != i && (o += e(i)),
					o += '">\n<li>\n<h5 class="activity-name">',
					n = t.name,
					null != n && (o += e(n)),
					o += '</h5>\n<p class="activity-desc">',
					n = t.desc,
					null != n && (o += e(n)),
					o += '</p>\n<img class="activity-img" src="',
					n = t.img,
					null != n && (o += e(n)),
					o += '" alt="',
					n = t.name,
					null != n && (o += e(n)),
					o += '">\n</li>\n</a>\n'
				} ({
					name: a.advName,
					desc: a.advDesc,
					img: a.img,
					link: a.cont
				}),
				o += "\n";
				else {
					o += "\n";
					for (var d = a.blocks,
					u = 0; u < d.length; u++) {
						var h = d[u];
						o += "\n",
						12 == a.adv_type && "layout-1" == a.layout ? (o += "\n",
						function(t) {
							o += "\n\n";
							var i = t.index || 0;
							o += '\n<a href="',
							n = t.link,
							null != n && (o += e(n)),
							o += '" class="activity-item index-',
							null != i && (o += e(i)),
							o += '" mon="element=',
							n = t.link,
							null != n && (o += e(n)),
							o += "&position=",
							null != i && (o += e(i)),
							o += '">\n<li>\n<h5 class="activity-name">',
							n = t.name,
							null != n && (o += e(n)),
							o += '</h5>\n<p class="activity-desc">',
							n = t.desc,
							null != n && (o += e(n)),
							o += '</p>\n<img class="activity-img" src="',
							n = t.img,
							null != n && (o += e(n)),
							o += '" alt="',
							n = t.name,
							null != n && (o += e(n)),
							o += '">\n</li>\n</a>\n'
						} ({
							name: h.long_adv_name,
							desc: h.long_adv_desc,
							img: h.img,
							index: u,
							link: h.cont
						}), o += "\n") : (o += "\n",
						function(t) {
							o += "\n\n";
							var i = t.index || 0;
							o += '\n<a href="',
							n = t.link,
							null != n && (o += e(n)),
							o += '" class="activity-item index-',
							null != i && (o += e(i)),
							o += '" mon="element=',
							n = t.link,
							null != n && (o += e(n)),
							o += "&position=",
							null != i && (o += e(i)),
							o += '">\n<li>\n<h5 class="activity-name">',
							n = t.name,
							null != n && (o += e(n)),
							o += '</h5>\n<p class="activity-desc">',
							n = t.desc,
							null != n && (o += e(n)),
							o += '</p>\n<img class="activity-img" src="',
							n = t.img,
							null != n && (o += e(n)),
							o += '" alt="',
							n = t.name,
							null != n && (o += e(n)),
							o += '">\n</li>\n</a>\n'
						} ({
							name: h.advName,
							desc: h.advDesc,
							img: h.img,
							index: u,
							link: h.cont
						}), o += "\n"),
						o += "\n"
					}
					o += "\n"
				}
				o += "\n</ul>\n</div>\n"
			}
			o += "\n"
		}
		return o += "\n</div>"
	}
},
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		var o = n(47),
		r = n(370),
		s = function(t, e) {
			t = o(t),
			e.data && t.html(r({
				mall: e.data
			})),
			n(371).init(t)
		};
		i.exports = {
			init: s
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e) {
	t.exports = function(t) {
		function e(t) {
			return String(t).replace(/[<>&"]/g,
			function(t) {
				return i[t]
			})
		}
		var n, i = {
			"<": "&lt;",
			">": "&gt;",
			"&": "&amp;",
			'"': "&quot;"
		},
		o = "";
		o += "\n";
		var r = crox.helpers.count(t.mall);
		if (o += "\n", r > 2) {
			o += "\n";
			var s = crox.helpers.array_slice(t.mall, 0, 2);
			o += "\n"
		} else {
			o += "\n";
			var s = t.mall;
			o += "\n"
		}
		o += "\n";
		for (var a = 0; a < s.length; a++) {
			var c = s[a];
			o += "\n",
			function(t) {
				o += "\n\n";
				var i = t.data;
				o += "\n";
				var r = t.position;
				if (o += "\n", i.order_num) {
					o += "\n";
					var s = "共" + i.order_num + "个团单";
					o += "\n"
				} else {
					o += "\n";
					var s = "";
					o += "\n"
				}
				o += '\n<section class="mall-item">\n<a href="/webapp/mall/mallinfo?mall_id=',
				n = i.id,
				null != n && (o += e(n)),
				o += '" class="clearfix" mon="element=',
				n = i.id,
				null != n && (o += e(n)),
				o += "&position=",
				null != r && (o += e(r)),
				o += '&area=market_list">\n<div class="img-wrapper">\n<img data-role="mall-img" src=\'/static/img/img_placeholder_small.png\' data-src="',
				n = i.pic_url,
				null != n && (o += e(n)),
				o += '" width="120" height="75"/>\n</div>\n<ul class="mall-info-wrapper">\n<li class="title">\n<h5 class="mall-name text-ellipsis">',
				n = i.name,
				null != n && (o += e(n)),
				o += '</h5>\n<span class="mall-icon">商场</span>\n</li>\n<li class="desc">\n<p class="mall-addr text-ellipsis">',
				n = i.address,
				null != n && (o += e(n)),
				o += '</p>\n</li>\n<li class="other">\n<p class="mall-order text-ellipsis">',
				null != s && (o += e(s)),
				o += "</p>\n</li>\n</ul>\n</a>\n</section>\n"
			} ({
				data: c,
				position: a + 1
			}),
			o += "\n"
		}
		return o += "\n"
	}
},
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		n(372);
		var o = n(47),
		r = n(82),
		s = function(t) {
			t = o(t),
			r.init('[data-role="mall-img"]', {
				context: t[0]
			})
		};
		i.exports = {
			init: s
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e) {},
,
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		n(375);
		var o = n(47),
		r = n(377),
		s = n(60),
		a = function(t, e) {
			if (t = o(t), e.data) {
				var n = e.data;
				t.html(r({
					list: n
				})),
				n.forEach(function(e) {
					var n = t.find('[data-cbd-id="' + e.id + '"]'),
					i = n.find('[data-role="address"]');
					s.getAddressInfo({
						x: e.biz_mc_x,
						y: e.biz_mc_y
					},
					function(t, e) {
						return t ? void console.log(t) : void i.text(e.city + e.district + e.street)
					})
				})
			}
		};
		i.exports = {
			init: a
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e) {},
,
function(t, e) {
	t.exports = function(t) {
		function e(t) {
			return String(t).replace(/[<>&"]/g,
			function(t) {
				return i[t]
			})
		}
		var n, i = {
			"<": "&lt;",
			">": "&gt;",
			"&": "&amp;",
			'"': "&quot;"
		},
		o = "";
		o += '\n<div class="index-cbd">\n';
		for (var r = t.list,
		s = 0; s < r.length; s++) {
			var a = r[s];
			o += '\n<section class="cbd-item" data-cbd-id="',
			n = a.id,
			null != n && (o += e(n)),
			o += '">\n<a href="/bizinfo/',
			n = a.id,
			null != n && (o += e(n)),
			o += '?biz_from=wap" mon="position=',
			n = s + 1,
			null != n && (o += e(n)),
			o += "&element=",
			n = a.id,
			null != n && (o += e(n)),
			o += '">\n<h4 class="cbd-title">\n<span class="cbd-name">',
			n = a.name,
			null != n && (o += e(n)),
			o += '</span>\n<span class="cbd-icon">商圈</span>\n<span class="cbd-distance">',
			n = a.distance,
			null != n && (o += e(n)),
			o += '</span>\n</h4>\n<p class="cbd-slogan">',
			n = a.slogan,
			null != n && (o += e(n)),
			o += '</p>\n<p class="cbd-address" data-role="address"></p>\n</a>\n</section>\n'
		}
		return o += "\n</div>\n"
	}
},
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		n(379);
		var o = (n(47), n(43)),
		r = n(383),
		s = n(384),
		a = Object.create(r);
		o.extend(a, {
			initGood: function(t, e) {
				return o.extend(e, {
					render: s
				}),
				this.init(t, e),
				this
			}
		}),
		e.init = function(t, e) {
			return Object.create(a).initGood(t, e)
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e) {},
,
,
,
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		var o = n(47),
		r = n(43),
		s = n(82),
		a = n(86),
		c = {
			wrapper: null,
			options: {},
			initLink: function(t) {
				if (t = t || this.wrapper, t.length) {
					var e = this.options.isNa,
					n = this.options.city,
					i = this;
					t.find('[data-role="good-content"]').each(function(t, s) {
						s = o(s);
						var a = {
							city: n,
							s: s.attr("data-s"),
							rid: s.attr("data-rid"),
							cuid: s.attr("data-cuid"),
							dealId: s.attr("data-deal-id"),
							isCard: parseInt(s.attr("data-is-card"), 10),
							dealType: parseInt(s.attr("data-deal-type"), 10),
							dealTinyUrl: s.attr("data-tiny-url")
						},
						c = i.getLink(e, a);
						c = r.format(c, a),
						c = i.addonParams(c, a),
						s.attr("href", c)
					})
				}
			},
			addonParams: function(t, e) {
				return e.s && (t += (t.indexOf("?") >= 0 ? "&": "?") + "s=" + e.s),
				e.rid && (t += (t.indexOf("?") >= 0 ? "&": "?") + "rid=" + e.rid),
				e.cuid && (t += (t.indexOf("?") >= 0 ? "&": "?") + "cuid=" + e.cuid),
				t
			},
			getLink: function(t, e) {
				if (t) {
					if (e.isCard) {
						var n = this.addonParams(r.format("http://t10sc.nuomi.com/wap/goods/detail?tiny_url=${dealTinyUrl}&deviceType=NA", e), e);
						return "bainuo://storecard?url=" + encodeURIComponent(n)
					}
					return "bainuo://tuandetail?tuanid=${dealId}"
				}
				return e.isCard ? "http://t10sc.nuomi.com/wap/goods/detail?tiny_url=${dealTinyUrl}": 2 === e.dealType ? "http://m.nuomi.com/w/deal/${dealTinyUrl}": "http://m.nuomi.com/${city}/deal/${dealTinyUrl}"
			},
			init: function(t, e) {
				t = this.wrapper = o(t),
				t.length && (e = this.options = r.extend({
					loadUrl: location.pathname,
					city: "bj",
					isNa: !1
				},
				e), e.list && t.html(e.render(e)), s.init('[data-role="deal-img"]', {
					context: this.wrapper[0],
					supportAsync: !0
				}), s.register('[data-role="good-content"]', {
					context: this.wrapper[0],
					supportAsync: !0
				},
				function(t) {
					o(this)[t ? "removeClass": "addClass"]("out-of-view")
				}), this.initLink(), this.initEvents())
			},
			initEvents: function() {
				var t = this.options.cb;
				"function" == typeof t && this.wrapper.on("tap", '[data-role="good-content"]',
				function() {
					t.call(this)
				})
			},
			loadMore: function(t, e) {
				var n = this.wrapper,
				i = this.options,
				s = this;
				t = r.extend(i.params, t);
				var c = function(t) {
					if (t.errCode) return a.create("加载失败！"),
					void(e && e(t.msg || t.errCode));
					var c = r.extend(i, {
						list: t.data.lists,
						s: t.data.s,
						is_poi: t.data.is_poi,
						rid: t.data.rid,
						cuid: t.data.cuid
					},
					!0),
					l = o(i.render(c));
					n.append(l),
					s.initLink(l),
					e && e(null)
				};
				this.setAjax(i.loadUrl, t, c)
			},
			setAjax: function(t, e, n) {
				o.getJSON(t, e, n)
			}
		};
		i.exports = c
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e) {
	t.exports = function(t) {
		function e(t) {
			return String(t).replace(/[<>&"]/g,
			function(t) {
				return i[t]
			})
		}
		var n, i = {
			"<": "&lt;",
			">": "&gt;",
			"&": "&amp;",
			'"': "&quot;"
		},
		o = "";
		o += '\n<div class="normal-goods">\n';
		for (var r = t.list,
		s = 0; s < r.length; s++) {
			var a = r[s];
			o += "\n";
			var c = 2 == a.dealType;
			o += "\n";
			var l = a.dealTinyImgUrl;
			o += '\n<section class="good">\n<a class="good-content out-of-view" data-role="good-content" data-tiny-url="',
			n = a.dealTinyUrl,
			null != n && (o += e(n)),
			o += '" data-deal-id="',
			n = a.dealId,
			null != n && (o += e(n)),
			o += '" data-deal-type="',
			n = a.dealType,
			null != n && (o += e(n)),
			o += '" data-is-card="',
			n = a.is_card,
			null != n && (o += e(n)),
			o += '" data-s="',
			n = t.s,
			null != n && (o += n),
			o += '" data-rid="',
			n = t.rid,
			null != n && (o += e(n)),
			o += '" data-cuid="',
			n = t.cuid,
			null != n && (o += e(n)),
			o += '" href="javascript:;" mon="element=',
			n = a.dealId,
			null != n && (o += e(n)),
			o += '&area=normal_list">\n<div class="img-wrapper">\n<div class="img-placeholder">\n<img src="" data-role="deal-img" data-src="',
			null != l && (o += e(l)),
			o += '" width="120" height="72"/>\n</div>\n\n',
			c && 2 == a.needSend && (o += '\n<span class="tag needsend"></span>\n'),
			o += "\n\n",
			c || 0 != a.reservation || (o += '\n<span class="tag reservation"></span>\n'),
			o += "\n\n",
			(2 == a.status || 4 == a.status) && (o += '\n<div class="tag-mask">\n', o += 2 == a.status ? "\n已卖光\n": "\n已过期\n", o += "\n</div>\n"),
			o += '\n</div>\n<div class="info-wrapper">\n<div class="title-line">\n<div class="title">\n<h3 class="item-name">',
			n = crox.helpers.ellipsis(a.dealShortTitle, 12),
			null != n && (o += e(n)),
			o += "</h4>\n",
			a.toptenFlag > 0 && (o += '\n<i class="icon jing">精</i>\n'),
			o += "\n\n",
			0 != a.is_card && (o += '\n<i class="icon ka">卡</i>\n'),
			o += "\n</div>\n\n",
			c || (o += '\n\n<span class="distance">', n = a.distanceText, null != n && (o += e(n)), o += '</span>\n\n<span class="store">', n = a.dealBizArea, null != n && (o += e(n)), o += "</span>\n"),
			o += '\n</div>\n\n<p class="desc">',
			n = crox.helpers.ellipsis(a.dealTitle, 19),
			null != n && (o += e(n)),
			o += '</p>\n\n<p class="price-line">\n',
			a.privilegePrice ? (o += "\n<ins>", n = a.privilegePrice / 1e3, null != n && (o += e(n)), o += "</ins>\n") : (o += "\n<ins>", n = a.promoPrice / 100, null != n && (o += e(n)), o += "</ins>\n"),
			o += '\n<del class="old-price">',
			n = a.oriPrice / 100,
			null != n && (o += e(n)),
			o += "</del>\n\n",
			a.privileges && crox.helpers.count(a.privileges) && (o += '\n<i class="privilege-icon">\n<span class="text">\n', a.privileges[0].listIconText ? (o += "\n", n = a.privileges[0].listIconText, null != n && (o += e(n)), o += "\n") : (o += "\n", a.privileges[0].listIcon && (o += "\n", n = a.privileges[0].listIcon, null != n && (o += e(n)), o += "\n"), o += "\n"), o += "\n</span>\n</i>\n"),
			o += "\n\n",
			1 == a.isNew ? o += '\n<span class="bought">今日新单</span>\n': (o += '\n<span class="bought">已售', n = a.sellCount, null != n && (o += e(n)), o += "</span>\n"),
			o += "\n</p>\n</div>\n</a>\n</section>\n"
		}
		return o += "\n</div>\n"
	}
},
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		var o = n(48),
		r = n(386),
		s = n(62),
		a = n(390),
		c = n(221),
		l = function(t, e) {
			a.getInfo(null,
			function(n, i, s) {
				if (!n) {
					var a = i.shortName,
					l = e && e.shortName;
					a && "undefined" !== a && a !== l && r.create({
						text: "糯米检测到您在" + a + "，是否切换？",
						cancelText: "继续浏览",
						confirmText: "立即切换",
						width: "271px"
					},
					function(e) {
						c.setItem("IS_USER_SELECT_CITY", "1", 1),
						e && (o.set("areaCode", i.areaId), "list" === t ? location.href = "/webapp/tuan/list": location.href = "/" + i.domainUrl + "/")
					})
				}
			})
		},
		u = function(t, e) {
			return s.isAlipay() && "100010000" === o.get("areaCode") ? void l() : void("1" !== c.getItem("IS_USER_SELECT_CITY") && l(t, e))
		};
		i.exports = {
			init: u
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		n(387);
		var o = n(47),
		r = n(43),
		s = n(89),
		a = n(389);
		e.create = function(t, e) {
			t = "string" == typeof t ? {
				text: t
			}: t,
			e = e || r.doNothing,
			"number" == typeof t.width && (t.width += "px"),
			t = r.extend({
				theme: "normal",
				text: "",
				cancelText: "取消",
				confirmText: "确定",
				highlightConfirm: !0
			},
			t);
			var n = o(a(t)),
			i = s.create(r.extend(t, {
				content: n,
				autoCenter: !0
			}));
			return i.dom.on("click", '[data-role="cancel-btn"]',
			function() {
				i.hide(),
				e(!1)
			}),
			i.dom.on("click", '[data-role="confirm-btn"]',
			function() {
				i.hide(),
				e(!0)
			}),
			i
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e) {},
,
function(t, e) {
	t.exports = function(t) {
		function e(t) {
			return String(t).replace(/[<>&"]/g,
			function(t) {
				return i[t]
			})
		}
		var n, i = {
			"<": "&lt;",
			">": "&gt;",
			"&": "&amp;",
			'"': "&quot;"
		},
		o = "";
		o += "\n";
		var r = "";
		if (o += "\n", t.width) {
			o += "\n";
			var r = 'style="width:' + t.width + '";';
			o += "\n"
		}
		return o += '\n<div class="nuomi-confirm theme-',
		n = t.theme,
		null != n && (o += e(n)),
		o += '" ',
		null != r && (o += r),
		o += '>\n<p class="text-content">\n',
		n = t.text,
		null != n && (o += n),
		o += '\n</p>\n<p class="footer-content">\n<a class="cancel-btn" href="javascript:;" data-role="cancel-btn">',
		n = t.cancelText,
		null != n && (o += n),
		o += '</a>\n<a class="confirm-btn',
		t.highlightConfirm && (o += " highlight-btn"),
		o += '" href="javascript:;" data-role="confirm-btn">',
		n = t.confirmText,
		null != n && (o += n),
		o += "</a>\n</p>\n</div>"
	}
},
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		var o = n(60),
		r = n(47);
		i.exports = {
			getInfo: function(t, e) {
				t = t || {},
				t.needAddress = !0,
				o.getPosition(t,
				function(t, n) {
					if (t) return void e(t);
					var i = n.addressComponent.cityCode;
					r.getJSON("/webapp/common/ajax", {
						method: "getCityByCityCode",
						filtercnt: 1,
						citycode: i
					},
					function(t) {
						return t.errno ? void e(t.errno) : t.data ? t.data.errCode ? void e(t.data.errCode) : void e(null, t.data, n) : void e(t)
					})
				})
			}
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e, n) {
	var i;
	i = function(t, e, i) {
		var o = n(386),
		r = n(237),
		s = function(t, e) {
			t.isBanned && o.create({
				text: "抱歉，为了您的帐号安全，该帐号<br/>已被封禁，请致电客服：</br>4006-888-887",
				cancelText: "知道了",
				confirmText: "致电客服",
				width: 280,
				highlightConfirm: !1
			},
			function(t) {
				t && (window.location.href = "tel:4006-888-887")
			}),
			t.isSync && r.create({
				text: "抱歉，您的账号正在升级中，将为您登出，请稍后再登录。"
			},
			function() {
				window.location.href = e.logoutUrl
			})
		},
		a = function(t, e) {
			s(t, e)
		};
		i.exports = {
			init: a
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
},
function(t, e, n) {
	var i;
	i = function(t, e, n) {
		e.init = function() {
			var t = document.createElement("script");
			t.type = "text/javascript",
			t.charset = "utf-8",
			t.src = "http://m.baidu.com/static/search/siteapp/lego/seed.js?t=" + parseInt((new Date).getDate() / 10, 10),
			t.setAttribute("data-appid", "2924586"),
			document.body.appendChild(t)
		}
	}.call(e, n, e, t),
	!(void 0 !== i && (t.exports = i))
}]);